最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)表基本操作實(shí)例詳解

 更新時(shí)間:2018年06月27日 15:12:32   作者:程志偉  
這篇文章主要介紹了MySQL數(shù)據(jù)表基本操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了MySQL針對(duì)數(shù)據(jù)表的基本創(chuàng)建、表結(jié)構(gòu)查看、修改、刪除等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了MySQL數(shù)據(jù)表基本操作。分享給大家供大家參考,具體如下:

數(shù)據(jù)表的基本操作

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

2.字表的外鍵必須關(guān)聯(lián)父表的主鍵,且關(guān)聯(lián)字段的數(shù)據(jù)類型必須匹配。如果類型不一樣。創(chuàng)建子表時(shí),就會(huì)出現(xiàn)錯(cuò)誤:ERROR 1005(HY000):can't create table 'databases.tablesname'(error:150)

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

4.唯一性約束:要求該列唯一,允許為空,但只能出現(xiàn)一個(gè)空值。唯一約束可以確保一列或者幾列不出現(xiàn)重復(fù)值。

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

【例.1】創(chuàng)建員工表tb_emp1

選擇創(chuàng)建表的數(shù)據(jù)庫:

USE test_db;

創(chuàng)建tb_emp1表:

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

【例.2】定義數(shù)據(jù)表tb_emp 2,其主鍵為id:

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

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

定義數(shù)據(jù)表tb_emp 3,其主鍵為id:

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

【例.4】定義數(shù)據(jù)表tb_emp4,創(chuàng)建多字段聯(lián)合主鍵SQL語句為:

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

【例.5】定義數(shù)據(jù)表tb_emp5,并在tb_emp5表上創(chuàng)建外鍵約束

創(chuàng)建一個(gè)部門表tb_dept1:

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

定義數(shù)據(jù)表tb_emp5,讓它的鍵deptId作為外鍵關(guān)聯(lián)到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】定義數(shù)據(jù)表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】定義數(shù)據(jù)表tb_dept2,指定部門的名稱唯一,SQL語句為:

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

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

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

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

【例.9】定義數(shù)據(jù)表tb_emp7,指定員工的部門編號(hào)默認(rèn)為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】定義數(shù)據(jù)表tb_emp8,指定員工的編號(hào)自動(dòng)遞增,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的表結(jié)構(gòu),操作過程如下:

DESCRIBE tb_dept;
DESC tb_emp1;

【例.12】使用SHOW CREATE TABLE查看表tb_emp1的詳細(xì)信息,SQL語句及相應(yīng)的執(zhí)行結(jié)果如下示:

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

查看數(shù)據(jù)表的結(jié)構(gòu)

1.查看表基本結(jié)構(gòu)語句describe或者desc +表名。

2.查看表詳細(xì)結(jié)構(gòu)語句 show create table。 如果不加‘\G'參數(shù),顯示的結(jié)果可能非?;靵y,加上參數(shù)‘\G'之后,可使顯示結(jié)果更加直觀,易于查看。

修改數(shù)據(jù)表

1.修改表名

【例.13】將數(shù)據(jù)表tb_dept3改名為tb_deptment3

ALTER TABLE tb_dept3 RENAME tb_deptment3;

2.修改字段的數(shù)據(jù)類型

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

ALTER TABLE tb_dept MODIFY name VARCHAR(30);

3.修改該字段名

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

ALTER TABLE tb_dept1 CHANGE location loc varchar(50);

【例.16】將數(shù)據(jù)表tb_dept1中的loc字段名稱改為location,同時(shí)將數(shù)據(jù)類型保持變?yōu)関archar(60)。

ALTER TABLE tb_dept1 CHANGE loc location varchar(60);

4.添加字段

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

ALTER TABLE tb_dept ADD managerId int(10);

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

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

【例.19】在數(shù)據(jù)表tb_dept中添加一個(gè)int類型的字段column2。輸入如下SQL語句,并執(zhí)行:

ALTER TABLE tb_dept ADD column2 int(11) FIRST;

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

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

5.刪除字段

【例.21】刪除數(shù)據(jù)表tb_dept1表中的column2字段

ALTER TABLE tb_dept1 DROP column2;

6.修改字段的排列位置

【例.22】將數(shù)據(jù)表tb_dept1中的column1字段修改為表的第一個(gè)字段

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) FIRST;

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

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

7.刪除數(shù)據(jù)的外鍵約束

【例.25】刪除數(shù)據(jù)表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;

刪除數(shù)據(jù)表

【例.26】刪除數(shù)據(jù)表tb_dept2,輸入如下SQL語句并執(zhí)行:

DROP TABLE IF EXISTS tb_dept2;

【例.27】刪除被數(shù)據(jù)表tb_emp關(guān)聯(lián)的數(shù)據(jù)表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;

解除關(guān)聯(lián)子表tb_emp的外鍵約束

ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

相關(guān)文章

  • 教你使用idea連接服務(wù)器mysql的步驟

    教你使用idea連接服務(wù)器mysql的步驟

    這篇文章主要介紹了如何使用idea連接服務(wù)器上的mysql,具體步驟本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 聊聊MySQL事務(wù)的特性和隔離級(jí)別

    聊聊MySQL事務(wù)的特性和隔離級(jí)別

    這篇文章主要介紹了MySQL事務(wù)的特性和隔離級(jí)別的相關(guān)資料,幫助大家粗略的認(rèn)識(shí)下MySQL 事務(wù)的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-09-09
  • mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決

    mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決

    這篇文章主要介紹了mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 清空mysql 查詢緩存的可行方法

    清空mysql 查詢緩存的可行方法

    mysql對(duì)同一條sql進(jìn)行了緩存,在第二次運(yùn)行時(shí), 瞬間就完成了,若要清除緩存,可通過下面的方法來實(shí)現(xiàn)
    2014-07-07
  • MySQL Binlog 日志處理工具對(duì)比分析

    MySQL Binlog 日志處理工具對(duì)比分析

    這篇文章主要介紹了MySQL Binlog 日志處理工具對(duì)比分析的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • 深入淺析MySQL COLUMNS分區(qū)

    深入淺析MySQL COLUMNS分區(qū)

    COLUMN分區(qū)是5.5開始引入的分區(qū)功能,只有RANGE COLUMN和LIST COLUMN這兩種分區(qū);支持整形、日期、字符串;RANGE和LIST的分區(qū)方式非常的相似。下面就兩者的區(qū)別給大家介紹下,對(duì)mysql columns知識(shí)感興趣的朋友一起看看吧
    2016-11-11
  • 工作中常用的mysql語句分享 不用php也可以實(shí)現(xiàn)的效果

    工作中常用的mysql語句分享 不用php也可以實(shí)現(xiàn)的效果

    本文給大家介紹幾條比較有用的MySQL的SQL語句,可能很多人都通過PHP來實(shí)現(xiàn)這些功能,其實(shí)數(shù)據(jù)也是能實(shí)現(xiàn)很多功能的
    2012-05-05
  • Mysql8.0使用窗口函數(shù)解決排序問題

    Mysql8.0使用窗口函數(shù)解決排序問題

    窗口的概念非常重要,它可以理解為記錄集合,窗口函數(shù)也就是在滿足某種條件的記錄集合上執(zhí)行的特殊函數(shù)。這篇文章主要介紹了Mysql8.0使用窗口函數(shù)解決排序問題,需要的朋友可以參考下
    2020-01-01
  • 詳解如何使用DockerHub官方的MySQL鏡像

    詳解如何使用DockerHub官方的MySQL鏡像

    MySQL是一個(gè)廣泛使用的開源關(guān)系型數(shù)據(jù)庫,那如何獲取Mysql Docker鏡像?下面通過這篇文章來一起看看如何使用DockerHub官方的MySQL鏡像,有需要的朋友們可以參考借鑒。
    2016-12-12
  • MySQL之終端Terminal(dos界面)管理數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)的基本操作

    MySQL之終端Terminal(dos界面)管理數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)的基本操作

    這篇文章主要介紹了MySQL之終端(Terminal)管理數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)的基本操作,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

类乌齐县| 海口市| 定西市| 靖江市| 永安市| 长春市| 黄骅市| 观塘区| 莱州市| 团风县| 莱州市| 晋州市| 石台县| 谢通门县| 东丽区| 高雄市| 郧西县| 共和县| 界首市| 梁平县| 新干县| 什邡市| 五台县| 武城县| 噶尔县| 浦北县| 深州市| 漳州市| 雷波县| 阳朔县| 仙游县| 延安市| 兰溪市| 黄梅县| 辽宁省| 巴楚县| 仁怀市| 丹凤县| 城固县| 平江县| 涪陵区|