1.主鍵的選取mysql
主鍵的字段不能有null存在sql
主鍵應該使用bigint自增,而不是int數據庫
主鍵的選取默認爲id編碼
聯合主鍵:就是多個字段被設置爲主鍵,這裏主鍵字段的值是容許相同的,只要不是全部字段相同便可spa
聯合主鍵不經常使用,它給關係錶帶來了複雜度的提高(我至今沒用過,好菜)排序
一些簡單經常使用的操做索引
數據庫的增刪改查string
建庫:create database 數據庫名字;it
查庫:show databases; 查某個具體數據庫 show create database 數據庫名字;table
改編碼方式(mysql) alter database 數據庫名稱 default character set 編碼方式 collate 編碼方式_bin ;
刪庫(好可怕) drop database 數據庫名稱;
數據表的增刪改查
顯示數據庫全部的表 show tables
顯示某一個具體的表 show create table 表名;
desc 表名; 列出該數據表的信息
建表:create table 表名稱( 字段名1 數據類型[完整型約束條件], 字段名2 數據類型[完整型約束條件], ... 字段名n 數據類型[完整型約束條件] )
修改數據表的名稱:alter table 舊錶名 rename [to] 新表名 ;
修改字段名:alter table 表名 change 舊字段名 新字段名 新數據類型 ;
修改字段的數據類型 :alter table 表名 modify 字段名 數據類型 ;
添加字段: alter table 表名 add 新字段名 數據類型 [約束條件][first|after 已存在的字段名]
修改字段的排列位置:alter table 表名 modify 字段名1 數據類型 first|after 字段名2
刪除字段: alter table 表名 drop 字段名 ;
刪除數據表:drop table 表名;
增
語法:INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
刪
drop table csj_tbl; #刪除表
truncate table csj_tbl;#刪除所有數據
delete from student; #刪除所有數據
delete from student where name="tom"; #刪除張三的數據
改
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
排序 :SELECT field1, field2,...fieldN from table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
怎麼給一個字段設置主鍵
alter table test_tb add ID int(10) primary key AUTO_INCREMENT;
怎麼給一個字段添加索引
一、添加普通索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
二、添加主鍵索引
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
三、添加惟一索引 (UNIQUE)
ALTER TABLE `table_name` ADD UNIQUE ( `column` )
惟一索引在此處能夠保證數據記錄的惟一性,在許多場合,建立惟一索引並非爲了加快訪問速度,而是爲了限制數據的惟一性。
四、全文索引 (FULLTEXT)
ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
五、多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )