一.庫操作
1.建立庫
create database 庫名[charset utf8]; 建立庫[字符集為utf8] 預設為utf8
2.檢視庫
show databases; 檢視所有庫
show create database 庫名; 檢視某個庫的建立資訊
select database(); 檢視當前操作的資料庫名
3.刪除庫
drop database 庫名; 刪除某個庫
4.修改庫
alter database 庫名 charset utf8; 修改庫的字符集為utf8
二.mysql的儲存引擎
1.innodb引擎
特點:1.支援事務
2.行級鎖定
3.讀寫阻塞與事務隔離級別有關
4.高效快取(索引和資料)
5.支援外來鍵約束
2.myisam引擎
特點:1.不支援事務
2.表級鎖定
3.讀寫互相阻塞
4.只能快取索引
5.不支援外來鍵約束
三.sql的資料型別
1.數值型別
2.日期型別
year yyyy
data yyyy-mm-dd
time hh:mm:ss
datatime yy-mm-dd hh:mm:ss
timestamp yymmdd hhmmss
3.字串型別
char 定長字串
varchar 不定長字串
4.列舉和集合型別
enum("a","b","c") 單選
eg :
create table shirts(name char(20) , size enum("xxl","xl");
insert into shirts(name,size) values ("dress shirt","xxl"),("t-shirt,"xl");
set("a","b","c") 多選
eg:create table myset (col set("a","b","c","d"));
insert into myset (col) values("a,b"),("a","b","c")
四.完整性約束
1.空和預設值
not null 不能為空,如果不約束預設為能為空
default 預設值
2.唯一,可以加速查詢
unique 約束欄位名必須唯一
unique(欄位名1,欄位名2) 聯合唯一
3.主鍵
primary key 主鍵,不能為空且唯一,一張表必須有且只有乙個主鍵
primary key(欄位名1,欄位名2) 聯合主鍵
4.自動增長(用於主鍵)
auto_increment 約束欄位為自動增長,上一條資料+1,預設為1
5.外來鍵
foreign key 外來鍵,標明表和表之間的關係
[constraint 外鍵名]foreign key (欄位名) references 表名(欄位名) [on update cascade on delete cascade]
五.表操作
1.建立表
create table 表名(欄位名1,型別[(寬度) 約束條件],
欄位名2,型別[(寬度) 約束條件]);
2.檢視表結構
describe 表名; 檢視表結構
show create table 表名\g; 檢視表詳細結構
3.修改表 alter table
1.修改表名
alter table 表名 rename 新錶名
2.增加字段
alter table 表名 add 欄位名 型別[(寬度) 約束條件 位置];
3.刪除字段
alter table 表名 drop 欄位名;
4.修改字段
alter table 表名 modify 欄位名 型別 [約束條件];
alter table 表名 change 舊欄位名 新欄位名 舊資料型別 [約束條件]; 可以想改就改
5.增加外來鍵
alter table 表名 add [constraint 外鍵名]foreign key (欄位名) references 表名(欄位名);
6.增加主鍵
alter table 表名 add primary key(欄位名);
7.修改主鍵[自動增長]
alter table 表名 modify 欄位名 型別 primary key [auto_increment];
資料庫 完整性約束
問題描述 現有乙個商店的資料庫 shopping 記錄客戶及其購物情況,由以下四個關係組成 a 客戶表customer 儲存客戶資訊,包括客戶號customerid 客戶姓名cname 位址address 電子郵件email 性別gender 身份證號cardid 號碼telcode。b 商品表go...
資料庫表及其完整性約束
資料庫表有兩種基本型別 關係表物件表 關係表有三種特徵組織表 堆組織表 不按照特定的順序排列 索引組織表 按照主鍵進行排列 外部表 唯讀表。元資料儲存在資料庫中,而資料儲存在資料庫外面 表要麼是永久的,要麼是臨時的。永久的表生命週期表長 臨時表的生命週期是乙個事物或者乙個會話期間。臨時表只是儲存 某...
資料庫 資料完整性約束
資料完整性 儲存在資料庫中的所有資料值均正確的狀態。完整性約束 防止不符合規範的資料進入資料庫,在使用者對資料進行插入 修改 刪除等操作時,dbms自動按照一定的約束條件對資料進行監測,使不符合規範的資料不能進入資料庫,以確保資料庫中儲存的資料正確 有效 相容。1.實體完整性 實體完整性是對主鍵的約...