資料庫和表操作以及完整性約束

2022-07-31 15:30:23 字數 2400 閱讀 8206

一.庫操作

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.實體完整性 實體完整性是對主鍵的約...