數據庫mysql的學習(三)
刪除數據庫表
drop table [if exists] 表一,表二.....;
表分區:比如圖書信息表有1000萬個圖書信息,如何優化他,其中一種方式就是表分區。就是把一張表的數據分成多個區塊,這些區塊可以在同一個磁盤上,也可以在不同的磁盤上。
基本操作如下:
先創建bookinfo的表,然後分區“partition by range(xx)”就是通過xx來分區。
裏面分了三個區,p1,p2,p3.分別為20109999之前,20159999之前,和其他。
向表中插入數據“insert into xx values(xx,‘xx‘)”
查看每個分區的內容"select * from xx partition(xx)"
主鍵的概念:
表中的每一行都應該具有可以唯一標識自己的一列(或一組列)。而這個承擔標識作用的列稱為主鍵。
如果沒有主鍵,數據的管理將會十分混亂。比如會存在多條一模一樣的記錄,刪除和修改特定行十分困難。
外鍵
通俗的說就是兩個表相關聯,連接這倆表的那個字段就是外鍵
約束
通過對表的行和列的數據做出限制,來確保數據的完整性和唯一性。
一般有非空約束,主鍵約束,唯一約束,默認約束,外鍵約束。
比如圖書編號和類別編號就要主鍵約束,類別編號就要外鍵約束,書名非空約束和唯一約束。
非空約束
表的創建默認為空(NULL),設為非空約束後,如果在添加數據時,沒有指定值,則會報錯。
在創建是設置。
也可以通過修改表的方法來來添加發非空約束。
這樣插入數據就會報錯
可以通過修改數據類型來改變約束
主鍵約束
要求主鍵列的數據唯一,並且不為空,能夠唯一標識表的一條記錄。
一張表最多一個主鍵約束
第一種創建 列名後加primary key
或者指定constraint xx primary key(xx)pk_id是自己定義的主鍵名稱。
通過修改也可以添加主鍵
1.alter table bookinfo2 add primary key(book_id);
2.alter table bookinfo2 modify book_id int primary key;
3.alter table bookinfo2 add constraint pk_id primary key(book_id);
刪除主鍵
直接alter table bookinfo2 drop primary key;
也可以有多字段聯合主鍵或叫復合主鍵
create table bookinfo2(
book_id int,
book_name char(20),
primary key(book_id,book_name)
);
唯一約束
方法和前面一樣 可以直接在列名後 加上unique 或者constraint uk_banme unique(xx)
修改添加的話
默認約束
外鍵約束
數據庫mysql的學習(三)