在資料庫中,資料表是資料庫最重要、最基本的操作物件,是資料儲存的基本單位。建立資料表的過程就是規定資料列的屬性的過程,同時也是實施資料完整性約束的過程。
建立資料表的語法形式:
create table 《表名》
(欄位名1 資料型別 [列級別約束] [預設值],
欄位名2 資料型別 [列級別約束] [預設值],
[表級別約束]);其中中的內容不是必須有的,看實際情況選擇。
mysql> create database teat_db;
query ok, 1 row affected (0.00 sec)
mysql> use teat_db;
database changed
mysql> create table yuangong
-> (id int(11),
-> name varchar(25),
-> deptid int(11),
-> salary float);
query ok, 0 rows affected (0.03 sec)
mysql> show tables;
+-------------------+
| tables_in_teat_db |
+-------------------+
| yuangong |
+-------------------+
1 row in set (0.00 sec)
1.主鍵約束
主鍵是能夠唯一的標識表中的一條計錄,也就是說主鍵約束所在的列的資料是唯一的不重複的,要注意資料不能為空。主鍵能夠和外來鍵結合來定義不同資料表之間的關係,以加快資料庫的查詢速度。
單字段主鍵語句格式:
欄位名 資料型別 primary key [預設值]; 在定義字段型別時直接新增約束
[constraint 《約束名》] primary key [欄位名]; 在定義完欄位型別後新增約束
mysql> create table yuangong1
-> (id int(11) primary key,
-> name varchar(25),
-> salary float
-> );
query ok, 0 rows affected (0.02 sec)
mysql> create table yuangong2
-> (id int(11),
-> name varchar(25),
-> location varchar(50),
-> primary key(id)
-> );
query ok, 0 rows affected (0.02 sec)
字段聯合主鍵: primary key [欄位1,欄位2.........]
2.外來鍵約束
外來鍵是用來建立兩個表的資料之間的連線。乙個表可以有多個外來鍵也可以只有乙個外來鍵,同時乙個表的外來鍵可以為空值,如果不是空值的話應該對應另外乙個表的主鍵。我們一般把主鍵所在的表稱之為父表,外來鍵所在的表稱之為子表。外來鍵的作用是保持資料的一致性和完整性。
外來鍵約束的語句格式:
[constraint 《外鍵名》] foreign key 欄位名1[欄位名2.....]
references 《主表名》 主鍵列1 [主鍵列2.......]
mysql> create table student
-> ( id int(12) primary key,
-> name varchar(25) not null,
-> minzu varchar(10),
-> idcard int(18)
-> );
query ok, 0 rows affected (0.02 sec)
mysql> create table student_sclre
-> (student_id int(12),
-> chinese float,
-> math float,
-> english float,
-> foreign key(student_id) references student(id)
-> );
query ok, 0 rows affected (0.02 sec)
注意:在定義完外來鍵之後,就不允許刪除在父表中關聯的行,而且在定義外來鍵時應該和其對應的主鍵的資料型別一致。
3.非空約束
非空約束即指定的字段不能為空,在上面的例子中已經使用到了這個約束。
語句格式:
欄位名 資料型別 not null;
4.唯一性約束
唯一性約束時要求指定的列的資料不能重複不過可以為空,但是為空的值只能存在乙個。
語句格式:
欄位名 資料型別 unique;
和主鍵的區別:主鍵宣告只能為乙個(單字段主鍵和多字段聯合主鍵),而且不能為空,unique的宣告可以在多個欄位上新增同時可以為空。
5.預設約束
預設約束是說有該約束的字段在插入值時如果沒有給賦值則會使用預設值。如我們上面使用的民族的字段,因為學生是漢族的比例特別的大我們可以把民族的預設值設定為漢族,這樣在插入資訊時可以只對於不是漢族的學生填寫對應的資訊。
語句格式:
欄位名 資料型別 default 預設值;
6.設定表的屬性值自動增加
例如我們學生的學號資訊都是依次加一的,這個時候我們自己去挨個新增就比較麻煩,這個約束就可以幫我們解決這個麻煩。預設的,auto_increment的初始值是1,每增加一條學生的資訊就會自動加一,乙個表中只能有乙個字段使用該約束,且該字段應該是主鍵的一部分。
語句格式:
欄位名 資料型別 auto_increment;
資料表的基本操作
和資料庫操作一樣,在資料表在操作中,也是是圍繞增刪改查來操作。但是在這一章節主要講解資料表的增刪改操作。查詢操作是資料庫中最為重要的操作。會單獨一章節講解。資料表是由若干個字段組成的,每個字段表示不同型別的資料。所以在建立表的時候,需要為每個字段指定相應的資料型別。作用 查詢資料就是通過客戶端通過 ...
資料表的基本操作
建立資料庫,sql語句為 create database 資料庫名 檢視資料庫是否成功,sql語句如下 show databases 選擇資料庫 use 資料庫名 sql語句create table用於建立資料表其基本語法 建立student表,sql語句如下 create table studen...
資料表的基本操作
資料表的基本操作 1.資料表的建立 先建立乙個資料庫,給這個資料庫起名,我給他取名為zjj 然後就可以創造表了,我給這個表取名為ww create table ww id int 11 name varchar 25 deptid int 11 salary float 括號中定義該錶欄位名 字段資...