一、數據庫的完整性約束
1. 主鍵:primary key
2. 外鍵:foreign key
3. 非空:not null
4. 檢查:enum/set
5. 默認值:default
6. 唯一:unique
7. 自增長:auto_increment
二、數據庫的三大范式
1. 確保每列保持原子性
2. 確保每列的唯一性
3. 確保每列都和主鍵直接相關
三、數據定義語言:DDL
作用:創建、刪除、修改庫表結構
四、DDL
#進入數據庫
mysql -u root -p
(密碼)
#查看數據庫
show databases;
#切換數據庫
use 數據庫名;
#創建數據庫
create database 數據庫名;
#刪除數據庫
drop database 數據庫名;
#修改數據庫的字符集
alter database 數據庫名 character set=UTF8;
#創建外鍵(主鍵外鍵類型必須一樣)
alter table 表名 add foreign key (外鍵名) references 主表名(主鍵名);
#刪除外鍵
alter table 表名 drop foreign key (外鍵名);
#創建主鍵
alter table 表名 add primary key (主鍵名);
#刪除主鍵
alter table 表名 drop primary key;
#創建表(應先切換需要的數據庫)
create table 表名(
列名 列類型 其他關鍵詞,
...
列名 列類型 其他關鍵詞,
primary key (主鍵名)
);
#復制一張表的結構和數據
creat table 新表名 as (select * from 被復制的表名);
#復制一張表結構
create table 新表名 like 被復制的表名;
#查看數據表結構
desc 表名;
#查看創建表的sql語句
show create table 表名;
#刪除表
drop table 表名;
#修改列類型
alter table 表名 modify 列名 列類型(修改后的);
#修改列名、列類型
alter table 表名 change 原列名 新列名 列類型;
#添加表字段
alter table 表名 add(
列名 列類型,
...
);
#添加表字段到某列后
alter table 表名 add 新列名 列類型 after 列名;
#刪除表的某一列
alter table 表名 drop 列名;
#修改表的名字
alter table 表名 rename 新表名;