本文實例講述了mysql數據表的基本操作之表結構操作,字段操作。分享給大家供大家參考,具體如下:
本節介紹:
表結構操作
- 創建數據表、
- 查看數據表和查看字段、
- 修改數據表結構
- 刪除數據表
字段操作
- 新增字段、
- 修改字段數據類型、位置或屬性、
- 重命名字段
- 刪除字段
首發時間:2018-02-18 21:31
表結構操作
創建數據表:
-
語法 :
1
2
3
4
|
create table [if not exists] 表名( 字段名字 數據類型, 字段名字 數據類型 )[表選項]; |
-
表選項 :
- 字符集:charset表中存儲數據的字符集
- 校對集:colloate表中用來校對數據的校對集
- 存儲引擎 :engine存儲數據的存儲引擎
- 表選項和庫選項的區別是,如果不設置表選項就會采用庫選項的設置,就好象一個“局部變量”。
-
使用示例 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
-- 建表之前必須指定數據庫,可以使用use來指定后續的操作是基于哪個數據庫的 ,也可以使用數據庫名作為前綴來指定數據表創建在哪個數據庫。<br>-- 使用數據庫名作為前綴來指定數據表創建在哪個數據庫。 create table if not exists mydatabase.student( name varchar (20), sex varchar (20), number varchar (20), age int )charset utf8;<br> -- 使用use來指定后續操作基于哪個數據庫 use mydatabase; create table if not exists class( name varchar (20), room varchar (20) )charset utf8; -- 演示不帶表選項的創建表 use mydatabase; create table if not exists class( name varchar (20), room varchar (20) ); |
-
補充說明 :
- if not exists 是先檢查是否存在同名的表,如果存在,則不執行后面的創建語句。 十分建議使用。如果你確定這個表不存在,那么可以不使用。
- 如果沒有指定表選項,將使用默認的,比如mysql默認的存儲引擎是innodb。
查看數據表 :
查看數據表可以查看已有數據表、數據表的字段信息
- 語法 :
1
2
3
4
5
6
7
8
9
10
11
12
|
-- 查看所有表 show tables; -- 查看部分表 show tables like '模糊匹配' ; -- 查看表的創建語句 show create table 數據表名; -- 旋轉查看結構 show create table 數據表名\g; -- 查看表結構:查看表中的字段信息: desc / desc 表名; describe 表名; show columns from 表名; |
-
模糊匹配:
- _匹配單個字符
- %匹配多個字符
- 使用示例 :
1
2
3
4
5
6
7
|
show tables;<br> show tables like 'my%' ;<br> show create table student;<br> show create table student\g;<br> desc student; describe student; show columns from student; |
圖例:
- show create table student;跟show create table sudent\g;
desc/describe /show columns from 表名;
修改數據表結構 :
修改表只能修改表名和表選項。
- 語法 :
1
2
3
4
|
-- 修改表名: rename table 老表名 to 新表名; --修改表選項: alter table 表名 表選項 [=] 值; |
- 使用示例 :
1
2
3
4
5
|
rename table student to my_student; rename table class to my_class; -- alter table my_student charset gbk; alter table my_collation_bin collate =utf8_bin; |
刪除數據表 :
- 語法 :
1
|
drop table 表名1,表名2...; |
- 使用示例 :
1
2
|
drop table demo; drop table demodata; |
-
補充說明 :
- 刪除不可恢復,刪除需謹慎。
字段操作 :
新增字段 :
新增字段是在表存在的基礎上新增字段
- 語法 :
1
|
alter table 表名 add [ column ] 字段名 數據類型 [列屬性] [位置]; |
- 使用示例 :
1
2
3
4
5
|
alter table 表名 add [ column ] 字段名 數據類型 [列屬性] [位置]; alter table demo add column id int first ; alter table demo add id int ; alter table demo add class int after age; alter table demo add number int not null after age; |
-
補充說明 :
-
位置常用語法:
- first :表示位于第一列,
- after 字段名 :代表在某個字段后面;
- 列屬性:主鍵,空值 等;
-
位置常用語法:
修改字段 :
修改字段一般都是修改字段數據類型或者字段屬性
- 語法 :
1
|
alter table 表名 modify 字段名 數據類型 [屬性] [位置]; |
- 使用示例 :
1
2
3
4
5
6
7
|
alter table my_student modify number char (10) after id; alter table demo modify number int null ; -- alter table student modify name varchar (20) not null ; -- alter table student modify name varchar (20) not null primary key ; |
-
補充說明 :
- 字段名和數據類型是必填的,屬性和位置是選填的。
- 如果字段本身帶著屬性的,那么必須帶上原來的,否則會被去除掉;如果需要在原有屬性的基礎上添加新的屬性,則在填入時,那么在帶上原有屬性的基礎上加上新的屬性即可
-
重命名字段 :
- 語法 :
1
|
alter table 表名 change 舊字段 新字段 數據類型 [屬性] [位置]; |
- 使用示例 :
1
2
|
alter table demo change class room varchar (10); alter table my_student change sex gender varchar (10); |
-
補充說明 :
- 數據類型是必填的,但可以是新的【重名字段可以順便改數據類型】
-
改名的同時也能修改字段的數據類型,屬性和位置。【如果字段帶有屬性,重命名字段時可以不帶上】
刪除字段 :
- 語法 :
1
|
alter table 表名 drop 字段名; |
- 使用示例 :
1
2
|
alter table my_student drop age; alter table demo drop room; |
-
補充說明 :
- 刪除需謹慎,刪除字段代表著將該字段下的所有數據都將刪除。
希望本文所述對大家MySQL數據庫計有所幫助。
原文鏈接:https://www.cnblogs.com/progor/p/8453351.html