建立資料表的過程是規定資料列的屬性的過程,同時也是實施資料完整性(包括實體完整性、引用完整性和域完整性)約束的過程。
在建立資料表前,應該使用語句「use《資料庫名》」指定操作是在哪個資料庫中進行,否則會丟擲「no database selected"的錯誤。
create table《表名》
要建立的表的名字,不區分大小寫,不能使用sql中的關鍵字。
可見test資料庫中已經有了資料表tb_emp1
主鍵,又稱主碼,是表中一列或多列的組合。主鍵約束要求主鍵列的資料唯一,並且不允許為空。主鍵能唯一地標識表中地一條記錄,可以結合外來鍵來定義不同資料表之間的關係,並加快資料庫查詢的速度。
由乙個字段組成
(1)在定義列的同時指定主鍵
欄位名 資料型別 primary key [預設值]
(2)在定義完所有列後指定主鍵
[constraint《約束名》] primary key(欄位名)
primary key (欄位1,欄位2,,,欄位n)
外來鍵:它可以不是本表的主鍵,但對應另乙個表的主鍵。外來鍵的主要作用是保證資料引用的完整性,定義外來鍵後,不允許刪除在另乙個表中具有關聯關係的行。
參照完整性規則:若屬性f是基本關係r的外碼,它與基本關係s的主碼ks相對應,則對於r中的每個元組在f上的值必須:
[constraint 外鍵名 ]foreign key 欄位名1[欄位名2,....]
references《主表名》主鍵列1[主鍵列2...]
欄位名 資料型別 not null
使用者在新增資料時沒有指定值,資料庫系統會報錯
唯一性約束要求該列唯一,允許為空,但只能出現乙個空值。
(1)在定義完列後直接指定唯一約束
欄位名 資料型別 unique
(2)在定義完所有列之後指定唯一約束
[constraint《約束名》]unique(《欄位名》)
unique和primary key的區別:乙個表中可有多個唯一性約束,而主鍵只有乙個;唯一性約束的列可取空,主鍵不允許。
指定某列的預設值
欄位名 資料型別 default 預設值
希望在每次插入新記錄時,系統自動生成欄位的主鍵值。可以通過為表主鍵新增auto_increment關鍵字來實現。在mysql中auto_increment預設初始值為1,每新增一條資料,字段值自動加1.乙個表只能有乙個字段使用auto_increment約束,且該字段必須為主鍵的一部分。
欄位名 資料型別 auto_increment
describe/desc語句可檢視表的字段資訊,其中包括:欄位名、字段資料型別、是否為主鍵、是否有預設值等。
describe/desc 表名
key:表示該列是否已編制索引。
show create table《表名\g>;
使用show create table語句,不僅可以檢視表建立時候的詳細語句,還可以檢視儲存引擎和字元編碼。
修改表的操作有:修改表名、修改字段資料型別或欄位名、增加和刪除字段、修改欄位的排列位置、更改表的儲存引擎、刪除表的外來鍵約束等。
alter table 《舊表名》 rename [to] 《新錶名》 ;
alter table 《表名》 modify 《欄位名》 《資料型別》;
alter table 《表名》 change 《舊欄位名》 《新欄位名》 《新資料型別》;
如果不需要修改欄位的資料型別,可以將新資料型別設定成與原來一樣即可,但資料型別不能為空。
alter table 《表名》 add 《新欄位名》 《資料型別》
[約束條件] [first|after已存在欄位名];
first 或 alter用於指定新增欄位在表中的位置,如果sql語句中沒有則兩個引數,則預設將新新增的字段設定為資料表的最後列。
alter table 《表名》 drop 《欄位名》;
alter table 《表名》 modify 《欄位1> 《資料型別》 first|after 《欄位2>;
alter table 《表名》 engine=《更改後的儲存引擎名》;
alter table 《表名》 drop foreign key 《外來鍵約束名》;
drop table [if exists]表1,表2,。。。表n;
if exist 用於在刪除前判斷刪除的表是否存在,加上該引數再刪除表的時候,如果表不存在,sql語句可以順利執行,但是會發出警告。
資料表之間存在外來鍵關聯的情況下,如果直接刪除父表,會破壞表的參照完整性,結果會顯示失敗。需先刪除與它關聯的主表或將關聯的表的外來鍵約束條件取消
mysql基礎(2) 資料表的基本操作
create table 表名 欄位名1,資料型別 列級別約束條件 預設值 欄位名2,資料型別 列級別約束條件 預設值 表級別約束條件 單字段主鍵 在定義列的同時指定主鍵 create table tp emp1 idint 11 primary key,namevarchar 25 deptidi...
2 資料表的基本操作 建立資料表
在資料庫中,資料表是資料庫最重要 最基本的操作物件,是資料儲存的基本單位。建立資料表的過程就是規定資料列的屬性的過程,同時也是實施資料完整性約束的過程。建立資料表的語法形式 create table 表名 欄位名1 資料型別 列級別約束 預設值 欄位名2 資料型別 列級別約束 預設值 表級別約束 其...
mysql 資料表的基本操作
1.建立表 create database name use database name create tabletable name id int 11 name varchar 25 salary float 2.show tables 顯示當前資料庫的表 3.單字段主鍵,設定主鍵有兩種情況。主...