5.1數據表的基本操作

主鍵 外鍵 非空約束 唯一性約束 自增

unique和primary key的區別

  • 一個表中可以有多個字段聲明爲u’nique,但只能有primary key聲明;
  • 聲明爲primary key的列不允許有空值,但是聲明爲unique的字段允許空值得的存在。

1數據庫

 創建數據庫
CREATE DATABASE pracitse;
-- 刪除數據庫
DROP DATABASE pracitse;

2數據表

創建一張父表

 創建數據表
USE pracitse;
CREATE TABLE pritsefather(
 -- id設爲主鍵並自增
 id INT AUTO_INCREMENT,
 -- 設置姓名的唯一性
 NAME VARCHAR(20) UNIQUE,
 -- 設置性別的約束(要麼男性或女性)
 -- check在mysql8.0版本以下都不適用,在mysql8.0及以上纔有效。
 sex VARCHAR(2) CHECK(sex='男'OR sex='女'),
 address VARCHAR(20) NOT NULL,
 -- 設置一個默認值
 tel VARCHAR(4) DEFAULT '1111',
 -- 給一張表中設置兩個主鍵
 CONSTRAINT PRIMARY KEY (id,NAME)
);
-- 刪除數據表pritsefather;
DROP TABLE pritsefather;
-- 給父表添加數據
INSERT INTO pritsefather(NAME,sex,address) VALUES('xiaozhang','男','');
INSERT INTO pritsefather(NAME,sex,address) VALUES('xiaowang','男','月河鎮');
-- 刪除表中的一條數據
DELETE FROM pritsefather WHERE id=3;
-- 修改表中的數據
UPDATE pritsefather SET sex='女' WHERE id=2;
-- 查詢數據表
SELECT * FROM pritsefather;

在這裏插入圖片描述

-- 刪除數據父表
DROP TABLE pritsefather;

創建一張子表

-- 創建另外一張子表
CREATE TABLE pritseson(
-- pid設爲主鍵並自增
 pid INT PRIMARY KEY AUTO_INCREMENT,
 id INT,
 tel VARCHAR(11) NOT NULL,
 -- 外鍵
 FOREIGN KEY(id) REFERENCES pritsefather(id)
);
-- 給字表中添加數據
INSERT INTO pritseson(id,tel) VALUES(1,15891097012),
				    (2,13978425142);
-- 刪除數據表
DROP TABLE pritseson;
-- 修改數據表中的數據
UPDATE pritseson SET tel = '13478564522339' WHERE id = 1;

程序報錯
在這裏插入圖片描述
因爲修改的數據長度超過11位。
如下修改則正確。

-- 修改數據表中的數據
UPDATE pritseson SET tel = '13478564529' WHERE id = 1;
-- 查詢數據表
SELECT * FROM pritseson;

在這裏插入圖片描述

發佈了68 篇原創文章 · 獲贊 28 · 訪問量 5852
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章