標籤:
首先登陸mysql:mysql -uroot -proot -P3306 -h127.0.0.1
查看所有的庫:show databases;
進入一個庫:use database;
顯示所在的庫:select database();
開始進行資料表操作:
1,建立資料表:create table user(
id smallint unsigned aotu_crement not null primary key, //id,整型無符號位非空主鍵
idNum varchar(20) unique key not null,//社會安全號碼,20個變長字元唯一約束非空
username varchar(20) unique key not null,//使用者名稱,20個變長子符唯一約束非空
sex enum(‘1‘,‘2‘,‘3‘) default ‘3‘,//性別,枚舉類型預設為3
age tinyint unsigned,//年齡,無符號位
salary float(8,2) unsigned,//薪水,浮點型,小數點後最多2位,小數點前最多6位,無符號位
privinceid tinyint ,//省份
foreing key (provinceid) reference provinces (id) on delete cascade //provinces表腦補一下,外鍵規則見下面
...
);
註:a,自增欄位,一定是主鍵,主鍵一定非空
b,一個表主鍵約束只能有一個,但是唯一約束可以有很多
c,枚舉類型可為空白
d,使用外鍵時,父表和子表必須使用同一個引擎:InnoDB
e,物理外鍵只有InnoDB引擎支援,myisam引擎不支援,一般開發不使用foreing key(有邏輯關係,但是沒有定義外鍵約束=》邏輯外鍵)
e,父表刪除或者修改子表外鍵列匹配行時,on delete的定義為
@cascade,父表刪除,子表外鍵列匹配行刪除
@set null,父表刪除,子表匹配行外鍵列置null(該列允許為null)
@restrict,拒絕刪除
@no action,mysql中和restrict一樣
2,查看資料表建立時的文法:show create table table_name;
3,查看當前庫中的表:show tables;
4,查看所有庫中的表:show tables from mysql;
5,查看錶結構:show columns from table_name;
6,添加欄位:alter table table_name add column_name [after column_name | first];
7,刪除欄位:alter table table_name drop column_name;
8,添加主鍵約束:alter table table_name add [constraint PK_tablename_id] primary key (column_name);
9,刪除主鍵約束:alter table table_name drop primary key;
10,添加唯一約束:alter table table_name unique(column_name1,column_name2..);
11,刪除唯一約束:
a,查詢index:show index from table_name;
b,alter table table_name drop index Key_name;
12,添加外鍵約束:alter table child_table add [constraint FK_tablename_column] foreing key (fid) references father_table (id);
*13,刪除外鍵約束:
a,查看外鍵約束名稱:show create table table_name;
b,刪除外鍵約束:alter table table_name drop foreing key constraint;
14,添加預設約束:alter table table_name alter column set default value;
15,刪除預設約束:alter table table_name alter column drop default;
16,修改列定義和位置:alter table table_name modify column_name varchar(50) after column_name;
/*********以下兩種慎用**************************************************************************************/
17,修改列名稱和定義:alter table table_name change column_name1 column_name2 varchar(100);
18,修改表名稱:alter table table_name rename table_name1;
mysql資料表操作&庫操作