91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中怎么實現數據表基本操作

發布時間:2021-06-16 16:12:24 來源:億速云 閱讀:163 作者:Leah 欄目:MySQL數據庫

MySQL中怎么實現數據表基本操作,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

數據表的基本操作

1.主鍵約束要求主鍵列的數據唯一,并且不允許為空。主鍵能夠唯一地識別表中的一條記錄,可以結合外鍵來定義不同數據表之間的關系,并且可以加快數據庫查詢的速度。主鍵和記錄之間的關系如同身份證和人之間的關系。

2.字表的外鍵必須關聯父表的主鍵,且關聯字段的數據類型必須匹配。如果類型不一樣。創建子表時,就會出現錯誤:ERROR 1005(HY000):can't create table 'databases.tablesname'(error:150)

3.非空約束指字段的值不能為空。

4.唯一性約束:要求該列唯一,允許為空,但只能出現一個空值。唯一約束可以確保一列或者幾列不出現重復值。

5.unique和primary key 的區別:一個表中可以有多個字段聲明為unique,但只能有一個primary key聲明:聲明為關鍵字的列不允許為空值,但是聲明為unique的字段允許空值null的存在。

【例.1】創建員工表tb_emp1

選擇創建表的數據庫:

USE test_db;

創建tb_emp1表:

CREATE TABLE tb_emp1
(
id int(11),
name varchar(25),
deptId int(11),
salary float
);

【例.2】定義數據表tb_emp 2,其主鍵為id:

CREATE TABLE tb_emp2
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float
);

【例.3】定義完所有列之后指定主鍵

定義數據表tb_emp 3,其主鍵為id:

CREATE TABLE tb_emp3
(
id int(11),
name varchar(25),
deptId int(11),
salary float,
PRIMARY KEY(id)
);

【例.4】定義數據表tb_emp4,創建多字段聯合主鍵SQL語句為:

CREATE TABLE tb_emp4
(
name varchar(25),
deptId int(11),
salary float,
PRIMARY KEY(name,deptId)
);

【例.5】定義數據表tb_emp5,并在tb_emp5表上創建外鍵約束

創建一個部門表tb_dept1:

CREATE TABLE tb_dept1
(
id int(11) PRIMARY KEY,
name varchar(22) NOT NULL,
location varchar(50)
);

定義數據表tb_emp5,讓它的鍵deptId作為外鍵關聯到tb_dept1的主鍵id:

CREATE TABLE tb_emp5
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);

【例.6】定義數據表tb_emp6,指定員工的名稱不能為空,SQL語句為:

CREATE TABLE tb_emp6
(
id int(11) PRIMARY KEY,
name varchar(25) NOT NULL,
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept2 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);

【例.7】定義數據表tb_dept2,指定部門的名稱唯一,SQL語句為:

CREATE TABLE tb_dept2
(
id int(11) PRIMARY KEY,
name varchar(22) UNIQUE,
location varchar(50)
);

【例.8】定義完所有列之后唯一約束,

定義數據表tb_dept3,指定部門的名稱唯一,SQL語句為:

CREATE TABLE tb_dept3
(
id int(11) PRIMARY KEY,
name varchar(22),
location varchar(50),
CONSTRAINT STH UNIQUE(name)
);

【例.9】定義數據表tb_emp7,指定員工的部門編號默認為1111,SQL語句為:

CREATE TABLE tb_emp7
(
id int(11) PRIMARY KEY,
name varchar(25) NOT NULL,
deptId int(11) DEFAULT 1111,
salary float,
CONSTRAINT fk_emp_dept3 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);

【例.10】定義數據表tb_emp8,指定員工的編號自動遞增,SQL語句為:

CREATE TABLE tb_emp8
(
id int(11) PRIMARY KEY AUTO_INCREMENT,
name varchar(25) NOT NULL,
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept5 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);
INSERT INTO tb_emp8 (name,salary) VALUES('Lucy',1000), ('Lura',1200),('Kevin',1500);
select * from tb_emp8;

【例.11】分別使用DESCRIBEDESC查看表tb_dept和表tb_emp1的表結構,操作過程如下:

DESCRIBE tb_dept;
DESC tb_emp1;

【例.12】使用SHOW CREATE TABLE查看表tb_emp1的詳細信息,SQL語句及相應的執行結果如下示:

SHOW CREATE TABLE tb_emp1;
SHOW CREATE TABLE tb_emp1\G;

查看數據表的結構

1.查看表基本結構語句describe或者desc +表名。

2.查看表詳細結構語句 show create table。 如果不加‘\G'參數,顯示的結果可能非常混亂,加上參數‘\G'之后,可使顯示結果更加直觀,易于查看。

修改數據表

1.修改表名

【例.13】將數據表tb_dept3改名為tb_deptment3

ALTER TABLE tb_dept3 RENAME tb_deptment3;

2.修改字段的數據類型

【例.14】將數據表tb_dept1中name字段的數據類型由VARCHAR(22)的修改成VARCHAR(30)

ALTER TABLE tb_dept MODIFY name VARCHAR(30);

3.修改該字段名

【例.15】將數據表tb_dept1中的location字段名稱改為loc,數據類型保持不變。

ALTER TABLE tb_dept1 CHANGE location loc varchar(50);

【例.16】將數據表tb_dept1中的loc字段名稱改為location,同時將數據類型保持變為varchar(60)。

ALTER TABLE tb_dept1 CHANGE loc location varchar(60);

4.添加字段

【例.17】在數據表tb_dept中添加一個沒有完整性約束的int類型的字段managerId(部門經理編號),輸入SQL語句如下:

ALTER TABLE tb_dept ADD managerId int(10);

【例.18】在數據表tb_dept1中添加一個不能為空的varchar(12)類型的字段column1。輸入如下SQL語句,并執行:

ALTER TABLE tb_dept1 ADD column1 varchar(12) not null;

【例.19】在數據表tb_dept中添加一個int類型的字段column2。輸入如下SQL語句,并執行:

ALTER TABLE tb_dept ADD column2 int(11) FIRST;

【例.20】在數據表tb_dept1中name列后添加一個int類型的字段column3。輸入如下SQL語句,并執行:

ALTER TABLE tb_dept1 ADD column3 int(11) AFTER name;

5.刪除字段

【例.21】刪除數據表tb_dept1表中的column2字段

ALTER TABLE tb_dept1 DROP column2;

6.修改字段的排列位置

【例.22】將數據表tb_dept1中的column1字段修改為表的第一個字段

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) FIRST;

【例.23】將數據表tb_dept1中的column1字段插入到location字段后面

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) AFTER location;

7.刪除數據的外鍵約束

【例.25】刪除數據表tb_emp9中的外鍵約束

CREATE TABLE tb_emp9
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
);
ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;

刪除數據表

【例.26】刪除數據表tb_dept2,輸入如下SQL語句并執行:

DROP TABLE IF EXISTS tb_dept2;

【例.27】刪除被數據表tb_emp關聯的數據表tb_dept2

CREATE TABLE tb_dept2
(
id int(11) PRIMARY KEY,
name varchar(22),
location varchar(50)
);
CREATE TABLE tb_emp
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept2(id)
);

直接刪除父表tb_dept2

DROP TABLE tb_dept2;

解除關聯子表tb_emp的外鍵約束

ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;

關于MySQL中怎么實現數據表基本操作問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

即墨市| 乌恰县| 新巴尔虎左旗| 黄浦区| 衡阳县| 庐江县| 肥西县| 正宁县| 什邡市| 长沙市| 苍溪县| 南澳县| 皋兰县| 沾化县| 宜都市| 崇礼县| 浪卡子县| 宝鸡市| 尤溪县| 望奎县| 霍城县| 定安县| 连江县| 临夏县| 虎林市| 临洮县| 云林县| 临安市| 弥渡县| 昌平区| 沭阳县| 汨罗市| 长葛市| 唐河县| 余江县| 澄迈县| 渝北区| 潮安县| 华亭县| 金堂县| 合肥市|