mysql表的基本操作匯總(三)。本站提示廣大學習愛好者:(mysql表的基本操作匯總(三))文章只能為提供參考,不一定能成為您想要的結果。以下是mysql表的基本操作匯總(三)正文
針對mysql表停止的基本操作,詳細內容以下
1.創立表:
創立表的語法情勢:
CREATE TABLE table_name( 屬性名 數據類型, 屬性名 數據類型, ... 屬性名 數據類型 )
示例:
CREATE TABLE t_dept( deptno int, dname varchar(20), loc varchar(20)
備注:在創立表之前,平日你須要應用 USE 庫名;如許一條語句來選擇一個庫,在所選擇的庫中創立表。關於表名標識符,不克不及是mysql的症結字,如 CREATE、USE等,建議表名標識符為t_xxx或許tab_xxx;各屬性之間用逗號離隔,最初一個屬性後不須要應用逗號。
2.檢查表構造:
2.1 DESCRIBE語句檢查表的界說
USE 庫名; //選擇一個庫
DESCRIBE 表名; //檢查表的界說信息,DESCRIBE可使用DESC取代也可
2.2 SHOW CREATE TABLE 語句檢查表的具體界說
USE 庫名; //選擇一個庫
SHOW CREATE TABLE 表名 \G 表名; //檢查表的界說信息
備注: 在顯示表的具體界說信息時,可使用”;” “\g” “\G” 符號來停止,為了讓成果顯示的加倍雅觀,便於用戶檢查,最好應用\G 來停止。
3.刪除表:
刪除表的語法情勢:
USE 庫名; //選擇一個庫
DROP TABLE 表名; //刪除指定表名的表
4.修正表:
4.1 修正表名
關於曾經創立好的表, 應用一段時光後就須要一些構造上的修正,即表的修正操作。為何不直接刪除表,再依照新的表的界說來創立表呢?緣由是假如表中曾經存在年夜量的數據,那末重建後還須要做很多額定的任務,例如數據的重載等。為懂得決上述成績,mysql供給了ALTER TABLE 語句來完成修正表構造。
修正表名的語法情勢:ALTER TABLE old_table_name REANME [TO] new_table_name;
4.2 增長字段
4.2.1在表的最初一個地位增長字段
語法情勢為:ALTER TABLE table_name ADD 屬性名 屬性類型;
4.2.2在表的第一個地位增長字段
語法情勢為:ALTER TABLE table_name ADD 屬性名 屬性類型 FIRST;
4.2.3在表的指定字段以後增長字段
語法情勢為:ALTER TABLE table_name ADD 屬性名 屬性類型 AFTER 屬性名;
4.3 刪除字段
刪除字段的語法情勢:ALTER TABLE table_name DROP 屬性名;
4.4 修正字段 (修正數據類型溫柔序必需是MODIFY,修正名字或名字和屬性必需是CHANGE)
4.4.1 修正字段的數據類型
語法情勢為:ALTER TABLE table_name MODIFY 屬性名 數據類型; //數據類型為修正後的數據類型
4.4.2 修正字段的名字
語法情勢為:ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 舊數據類型;
4.4.3 同時修正字段的名字和屬性
語法情勢為:ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 新數據類型;
4.4.4 修正字段的次序
語法情勢為:ALTER TABLE table_name MODIFY 屬性名1 數據類型 FIRTST| AFTER 屬性名2;
//”屬性名1”參數表現所要調劑次序的字段名,”FITST”參數表現將字段調劑到表的第一個地位,”AFTER 屬性名2”表現將字段調劑到屬性名2字段的地位以後。
5.操作表的束縛:
5.1 MySQL支撐的完全性束縛
所謂完全性是指數據的精確性和分歧性,而完全性檢討是指檢討數據的精確性和分歧性。MySQL供給了一種機制來檢討數據庫表中的數據能否知足劃定的前提,以包管數據庫中數據的精確性和分歧性,這類機制就是束縛。MySQL除支撐尺度SQL的完全性束縛外,還擴大增長了AUTO_INCREMENT束縛。
1. NOT NULL //束縛字段的值不克不及為空
2. DEFAULT //設置字段的默許值
3. UNIQUE KEY(UK) //束縛字段的值是獨一
4. PRIMARY KEY(PK) //束縛字段為表的主鍵,可以作為該表記載的獨一標識
5. AUTO_INCREMENT //束縛字段的值為主動增加
5.2 設置非空束縛(NOT NULL, NK)
在創立數據庫表時,為某些字段加上”NOT NULL”束縛前提,包管一切記載中的該字段都是有值的。 設置非空束縛的語法情勢為:
CREATE TABLE table_name ( 屬性名 數據類型 NOT NULL, );
5.3 設置字段的默許值(DEFAULT)
當為數據庫表中拔出一條新記載時,假如沒無為某個字段賦值,那末數據庫體系會主動為這個字段拔出默許值。設置數據庫表中某個字段的默許值語法情勢為:
CREATE TABLE table_name ( 屬性名 數據類型 DEFAULT 默許值, );
5.4 設置獨一束縛(UNIQUE, UK)
當數據庫表中的某個字段上的內容不許可反復時,則可使用UK束縛停止設置。即UK束縛在創立數據庫表時為某些字段加上”UNIQUE”束縛前提,包管一切記載中該字段上的值不反復。
設置獨一束縛語法情勢為:
CREATE TABLE table_name( 屬性名 數據類型 UNIQUE, );
例如:
CREATE TABLE t_dept( deptno INT , dname VARCHAR(20) UNIQUE, loc VARCHAR(40) );
假如想給字段dname上的UK束縛設置一個名字,可以履行SQL語句CONSTRAINT,示例以下:
CREATE TABLE t_dept( deptno INT, dname VARCHAR(20), loc VARCHAR(40), CONSTRAINT uk_dname UNIQUE(dname) ); //在為束縛設標識符時,推舉應用“束縛縮寫_字段名",是以設置為uk_dname;
5.5 設置主鍵束縛(PRIMARY KEY , PK)
當想用數據庫表中的某個字段來獨一標識一切記載時,則可使用PK束縛停止設置。在數據庫表中之所以設置主鍵,是為了便於疾速的查找到表中的記載。在詳細設置主鍵束縛時,必需要知足主鍵字段的值是獨一、非空的。主鍵可使單一字段,也能夠是多個字段,是以分為單字段主鍵和多字段主鍵。主鍵束縛相當於 非空束縛 加上 獨一束縛。
5.5.1 單字段主鍵
設置PK束縛,語法情勢以下:
CREATE TABLE table_name( 屬性名 數據類型 PRIMARY KEY, );
假如想給字段deptno上的PK束縛設置一個名字,可使用CONSTRAINT,示例以下:
CREATE TABLE table_name( deptno INT, dname VARCHAR(20), loc VARCHAR(40), CONSTRAINT pk_deptno PRIMARY KEY(deptno) );
5.5.2 多字段主鍵
當主鍵有多個字段組合而成時,則須要經由過程SQL語句CONSTRAINT來完成,其語法情勢以下:
CREATE TABLE table_name( 屬性名 數據類型, ...... [CONSTRAINT 束縛名]PRIMARY KEY (屬性名,屬性名......) );
5.6 設置字段值主動增長(AUTO_INCREMENT)
AUTO_INCREMENT 是MySQL獨一擴大的獨一性束縛,當為數據庫表中拔出新記載時,字段上的值會生成獨一的ID,在數據庫表中只能有一個字段應用該束縛,該字段的數據類型必需是整數類型,因為設置自增加字段會生成獨一的ID,所以該字段也常常設置成PK主鍵。
設置自增加語法情勢以下:
CREATE TABLE table_name( 屬性名 數據類型 AUTO_INCREMENT, //默許字段的值是從1開端增長,每增長一條在前一條的基本上加1 deptno INT PRIMARY KEY AUTO_INCREMENT, //平日都邑和PK一路寫 );
5.7 設置外鍵束縛(FOREIGN KEY ,FK)
後面的完全性束縛都是在單表中停止設置,而外鍵束縛平日包管兩個表之間的參照完全性,即構建於兩個表的兩個字段之間的參照關系。在詳細設置FK束縛時,設置FK束縛的字段必需依附於數據庫中曾經存在的”一”(一對多中的一)的一方的主鍵,同時外鍵可以設置為null。
設置FK束縛的語法情勢以下:
CREATE TABLE table_name( 屬性名 數據類型, 屬性名 數據類型, [CONSTRAINT 外鍵束縛名] FOREIGN KEY (屬性名1) REFERENCES 表名 (屬性名2) //備注:"外鍵束縛名"用來標識束縛名,"屬性名1"參數是"多"的一方表中設置外鍵的字段名,"屬性2"中,參數是"一"的一方設置主鍵束縛的字段名。 )
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。