04 MySQL 表的基本操作-DDL

songxia777發表於2024-04-03

4. MySQL表的基本操作(命令)

4.1 建立資料表

4.1.1 普通建立表

create table 表名(欄位名 欄位型別 [欄位屬性],欄位名 欄位型別 [欄位屬性]...) [表選項];

CREATE TABLE member(name varchar(10))
varchar(10) 表示10個字元,此處的含義是 name 命名不能超過10個字元

建立資料庫之前,一定要事先指定一個資料庫:

方式一:使用 . 的方式,連線指定的資料庫 create table memeber.testdatabase(name INT)

方式二:事先進入指定的資料庫 use testdatabase , 再建立資料表 create table memeber(name INT)

表選項

  • engine:儲存引擎,mysql提供的具體儲存資料的方式,預設是 innodb

  • charset:字符集(預設是utf-8),只對當前表有效,級別比資料庫高

  • collate:校對集

    CREATE TABLE member(name varchar(10))cahrset utf8;
    

4.1.2 複製已有的資料表

從已經存在的表複製一份(只複製表結構,不復製表資料)

create table 新表名 like 表名

# 複製test2資料庫中的member表 ,在test1資料庫中
# 指定資料庫 test1
use test1; 
# 複製表
create table member like test2.member

任意資料表都可以使用 資料庫名.資料表 的方式進行訪問

4.2 顯示資料表

4.2.1 顯示所有表

每當建立一張資料表,就會生成在對應的資料庫裡面生成一些檔案(與儲存引擎有關):在儲存資料的data相對應的目錄下面

show tables;

4.2.2 顯示匹配的表

show tables like '匹配模式';

# 以c開頭的所有表
show tables like 'c%';

4.3 顯示錶結構

顯示錶中所包含的欄位資訊(名字,型別,屬性等)

describe 表名;
desc 表名;
show columns from 表名;

4.4 顯示錶建立語句

show create table 表名;

mysql中有很多種語句結束符 (只是顯示結構的不同) , ;\g 的效果是一樣的,\G 是另外一種效果

4.5 設定表屬性

表屬性主要指的是:engine(儲存引擎) charset(字符集) 和 collate

# 修改表 student 字符集為 gbk,預設是utf-8
alter table student charset gbk;

如果資料庫已經確定了,裡面還已經有資料了,建議不要輕易修改表結構

4.6 修改表結構

4.6.1 修改表名

rename table 舊錶名 to 新表名;
# 如下:
rename table student to my_student;

4.6.2 修改表選項

alter table 表名 表選項 [=] 新值

4.6.3 新增欄位

alter table 表名 add [column] 新欄位名 欄位型別 [列屬性] [位置 first/after 欄位名]

# 新增一個age欄位,預設新增的欄位是加在表的最後面
alter table my_student add age int;

# 新增一個id欄位,放在第一個
alter table my_student add id int first;

# 新增一個name欄位,放在id的後面
alter table my_student add name varchar(10) after id;

欄位位置:欄位想要存放的位置

first:第一個位置

after 欄位名:放在某個欄位後面的位置

4.6.4 修改欄位名

alter table 表名 change 舊欄位名 新欄位名 欄位型別 [列屬性] [新位置]

4.6.5 修改欄位型別(屬性)

alter table 表名 modify 欄位名 新型別 [新屬性] [新位置]

4.6.6 刪除欄位

alter table 表名 drop 欄位名;

4.7 刪除表結構

# 可以刪除多個表結構
drop table 表名 [,表名...];

相關文章