表操作
表本身和表結(jié)構(gòu)的操作
創(chuàng)建
create table 表名(
字段的定義
) [表選項]
其中表名,一定先要確定數(shù)據(jù)庫!因此一個典型的表名是由兩部分組成:
所在庫.表名
test.stu test庫內(nèi)的stu表
但是我們可以設(shè)置默認(rèn)數(shù)據(jù)庫,如果不指定則使用默認(rèn)數(shù)據(jù)庫
use 數(shù)據(jù)庫名 選擇默認(rèn)數(shù)據(jù)庫
在使用 表名,但是沒有指明其所在數(shù)據(jù)庫時,默認(rèn)數(shù)據(jù)庫才會起作用!
其中字段部分
字段才是最終的數(shù)據(jù)的載體(與變量的概念是類似的,都是基本保存數(shù)據(jù)的),mysql 是強(qiáng)類型,字段類型是固定的,提前定義好的!
因此在定義字段時,至少要字段名 和 字段類型!
兩種最基本的mysql數(shù)據(jù)類型int和varchar(其中varchar必須指定最大長度,字符為單位)!
表選項部分
典型的常用表選項有:
字符集(校對集),表引擎
查看
查看所有的表
show tables like '模式';
查看具體的建表語句
show create table 表名
在mysql命令行客戶端,如果數(shù)據(jù)過多,不容易展示!
可以使用 \G 為語句結(jié)束符
查詢表結(jié)構(gòu)
desc 表名
修改
修改表選項
alter table 表名 [新選項]
alter table stu engine=myisam charset = gbk;
修改表名
rename table 原表名 to 新表名
注意:表名可以由庫名.表名表示!
因此可以跨庫修改表名!
修改表結(jié)構(gòu),表內(nèi)字段
增加字段
alter table table_name add column 字段定義 [字段位置]
增加一個age字段:alter table stu add column age int;
增加一個height字段,在name之后,使用`after some_column`關(guān)鍵字:alte table stu add column height int after name;
在最開始增加sn字段,使用'first`關(guān)鍵字:alter table stu add column sn varchar(255) first;
刪除字段
alter table table_name drop column column;
修改已有字段
alter table table_name modify column column_name 新的定義!
字段改名
alter table table_name change column 原字段名 新字段名 新字段定義!
注意:不是純粹的改名,而是改變字段的定義,同時改名
刪除表
drop table table_name;
droop table if exist;
create table if not exist;