mysql中,我們會對不同的專案建立不同的資料庫來容納它們的資料,而在這些庫結構(關於 『庫』 的那點事)中,又細分成很多的表,而資料就是儲存在這些表裡的。
表是資料庫中最小的結構,也是我們大部分時間進行操作的物件。
本篇就將介紹常用的表操作。
建立表的語法如下:
// 建立乙個名為tablename的表
create table tablename(
列名1 型別1,
列名2 型別2,
列名3 型別3,
...) character set 字符集 collate 校驗規則 engine 儲存引擎;
字符集校驗規則和儲存引擎的設定是可選選項。如果不進行設定,字符集預設為utf8,校驗規則預設為utf8_general_ci,儲存引擎預設為innodb。
字符集和校驗規則在之前的文章裡都解釋過了,這裡對儲存引擎進行解釋。
儲存引擎決定了表儲存在磁碟裡的的檔案形式。mysql裡有兩種儲存引擎:innodb和myisam,前者是mysql預設儲存引擎。區別如下:
建立表t1,t2。t1採用innodb儲存引擎。t2採用myisam儲存引擎。
儲存結構如下。
接下來,看乙個建立表的完整過程。
create database test;
use test;
// 字符集設定可以簡寫為 charset=字符集 的形式。sql語句可以多行書寫,以分號結尾即可
create table person(name varchar(32), age int)
charset=utf8 collate utf8_general_ci engine myisam;
如圖:
使用如下語句進行表結構的查詢:
desc tablename;對我們剛建立的person表使用該語句,可以看到如下結果:
表的結構中個列的含義如下:
field:列名 type:列的型別 null:列的元素是否允許為空 key: 索引 default:該列預設值 extra:擴充套件表在建立完了也不是一勞永逸,在之後的維護中,我們可能會對錶進行一些修改,以適應新的資料。
表的修改操作使用 alter 關鍵字,接下來,具體介紹。
新增列 add
// 在表的最後新增新列,可選部分可以指定新列新增的位置
alter table tablename add colname coltype [after 已存在列列名]
插入新的列之後,對原來表中的資料沒有任何影響。
修改列型別 modify
// 修改colname列的型別
alter table tablename modify colname newtype;
修改列名 change// 將oldname列列名修改為newname,這裡newname需要完整定義,所以還要加上型別名,當然,可以順帶將型別也進行修改
alter table tablename change oldname newname newtype;
注意,change修改列型別時,規定新型別不能比舊的型別小,否則會報錯。
刪除列 drop
// 刪除colname列
alter table tablename drop colname;
刪除列屬於高危操作,要謹慎。
修改表名 rename
// 將表tablename更名為newname,這裡的 to 可以省略不寫
alter table tablename rename [to] newname;
修改表的字符集/校驗規則// 修改表字符集
alter table tablname character set 字符集;
// 修改表校驗規則
alter table tablename collate 校驗規則
一般來說,建立表的時候指定的字符集和校驗規則輕易不要該錶,有可能影響表內其他的資料以及已規定好的操作。
表修改操作如下:
Mysql 常用 表操作
修改字段長度命令 alter table 表名 modify column 列名 型別 修改後的長度 alter table dw.ind user company modify column company class varchar 200 修改字段型別 alter table dw.ind u...
MYSQL表常用操作
1 展示一張已經存在的表的建表語句 show create table 目標 2 將表引擎改為innodba alter table t starmcn engine innodb 3 修改表名 alter table old name rename to new name 4 修改表中字段的資料型...
linux下mysql的常用操作
四.啟動與關閉mysql etc init.d mysql start stop 或者service mysql start stop restart mysql安裝完成預設就是會隨系統啟動的,可以使用如下命令檢視mysql的執行級別 chkconfig list mysql 修改mysql的執行級...