mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實例分析
本文實例講述了mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作。分享給大家供大家參考,具體如下:
本節(jié)介紹:
表結(jié)構(gòu)操作
- 創(chuàng)建數(shù)據(jù)表、
- 查看數(shù)據(jù)表和查看字段、
- 修改數(shù)據(jù)表結(jié)構(gòu)
- 刪除數(shù)據(jù)表
字段操作
- 新增字段、
- 修改字段數(shù)據(jù)類型、位置或?qū)傩浴?/li>
- 重命名字段
- 刪除字段
首發(fā)時間:2018-02-18 21:31
表結(jié)構(gòu)操作
創(chuàng)建數(shù)據(jù)表:
-
語法 :
create table [if not exists] 表名( 字段名字 數(shù)據(jù)類型, 字段名字 數(shù)據(jù)類型 )[表選項];
-
表選項 :
- 字符集:charset表中存儲數(shù)據(jù)的字符集
- 校對集:colloate表中用來校對數(shù)據(jù)的校對集
- 存儲引擎 :engine存儲數(shù)據(jù)的存儲引擎
- 表選項和庫選項的區(qū)別是,如果不設(shè)置表選項就會采用庫選項的設(shè)置,就好象一個“局部變量”。
-
使用示例 :
-- 建表之前必須指定數(shù)據(jù)庫,可以使用use來指定后續(xù)的操作是基于哪個數(shù)據(jù)庫的 ,也可以使用數(shù)據(jù)庫名作為前綴來指定數(shù)據(jù)表創(chuàng)建在哪個數(shù)據(jù)庫。
-- 使用數(shù)據(jù)庫名作為前綴來指定數(shù)據(jù)表創(chuàng)建在哪個數(shù)據(jù)庫。 create table if not exists mydatabase.student( name varchar(20), sex varchar(20), number varchar(20), age int )charset utf8;
-- 使用use來指定后續(xù)操作基于哪個數(shù)據(jù)庫 use mydatabase; create table if not exists class( name varchar(20), room varchar(20) )charset utf8; -- 演示不帶表選項的創(chuàng)建表 use mydatabase; create table if not exists class( name varchar(20), room varchar(20) );
- 補充說明 :
- if not exists 是先檢查是否存在同名的表,如果存在,則不執(zhí)行后面的創(chuàng)建語句。 十分建議使用。如果你確定這個表不存在,那么可以不使用。
- 如果沒有指定表選項,將使用默認(rèn)的,比如mysql默認(rèn)的存儲引擎是innodb。
查看數(shù)據(jù)表 :
查看數(shù)據(jù)表可以查看已有數(shù)據(jù)表、數(shù)據(jù)表的字段信息
- 語法 :
-- 查看所有表 show tables; -- 查看部分表 show tables like '模糊匹配'; -- 查看表的創(chuàng)建語句 show create table 數(shù)據(jù)表名; -- 旋轉(zhuǎn)查看結(jié)構(gòu) show create table 數(shù)據(jù)表名\G; -- 查看表結(jié)構(gòu):查看表中的字段信息: Desc/desc 表名; describe 表名; show columns from 表名;
- 模糊匹配:
- _匹配單個字符
- %匹配多個字符
- 使用示例 :
show tables;
show tables like 'my%';
show create table student;
show create table student\G;
desc student; describe student; show columns from student;
圖例:
- show create table student;跟show create table sudent\G;
Desc/describe /show columns from 表名;
修改數(shù)據(jù)表結(jié)構(gòu) :
修改表只能修改表名和表選項。
- 語法 :
-- 修改表名: rename table 老表名 to 新表名; --修改表選項: Alter table 表名 表選項 [=] 值;
- 使用示例 :
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;
刪除數(shù)據(jù)表 :
- 語法 :
Drop table 表名1,表名2...;
- 使用示例 :
drop table demo; drop table demodata;
- 補充說明 :
- 刪除不可恢復(fù),刪除需謹(jǐn)慎。
字段操作 :
新增字段 :
新增字段是在表存在的基礎(chǔ)上新增字段
- 語法 :
Alter table 表名 add [column] 字段名 數(shù)據(jù)類型 [列屬性] [位置];
- 使用示例 :
Alter table 表名 add [column] 字段名 數(shù)據(jù)類型 [列屬性] [位置]; 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 字段名 :代表在某個字段后面;
- 列屬性:主鍵,空值 等;
- 位置常用語法:
修改字段 :
修改字段一般都是修改字段數(shù)據(jù)類型或者字段屬性
- 語法 :
Alter table 表名 modify 字段名 數(shù)據(jù)類型 [屬性] [位置];
- 使用示例 :
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;
- 補充說明 :
- 字段名和數(shù)據(jù)類型是必填的,屬性和位置是選填的。
- 如果字段本身帶著屬性的,那么必須帶上原來的,否則會被去除掉;如果需要在原有屬性的基礎(chǔ)上添加新的屬性,則在填入時,那么在帶上原有屬性的基礎(chǔ)上加上新的屬性即可
重命名字段 :
- 語法 :
Alter table 表名 change 舊字段 新字段 數(shù)據(jù)類型 [屬性] [位置];
- 使用示例 :
alter table demo change class room varchar(10); Alter table my_student change sex gender varchar(10);
- 補充說明 :
- 數(shù)據(jù)類型是必填的,但可以是新的【重名字段可以順便改數(shù)據(jù)類型】
- 改名的同時也能修改字段的數(shù)據(jù)類型,屬性和位置?!救绻侄螏в袑傩?,重命名字段時可以不帶上】
刪除字段 :
- 語法 :
Alter table 表名 drop 字段名;
- 使用示例 :
Alter table my_student drop age; alter table demo drop room;
- 補充說明 :
- 刪除需謹(jǐn)慎,刪除字段代表著將該字段下的所有數(shù)據(jù)都將刪除。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章
MySql?explain命令返回結(jié)果詳細(xì)介紹
explain?是MySql提供的SQL語句查詢性能的工具,是我們優(yōu)化SQL的重要指標(biāo)手段,要看懂explain返回的結(jié)果集就尤為重要,這篇文章主要介紹了MySql?explain命令返回結(jié)果解讀,需要的朋友可以參考下2023-09-09簡單實現(xiàn)SQLServer轉(zhuǎn)MYSQL的方法
SqlServer數(shù)據(jù)轉(zhuǎn)換成mysql數(shù)據(jù),可以說是一個老生常談了,網(wǎng)上也有很多的方法,今天我們來看一種不一樣的方法,而且也非常的簡單,雖然有點小缺陷,但還是不失為一種很好的方法,當(dāng)然如果結(jié)合mss2sql那就非常完美了2014-08-08MySQL安裝時一直卡在starting?server的問題及解決方法
這篇文章主要介紹了MySQL安裝時一直卡在starting?server的問題及解決方法,出現(xiàn)這種情況大概有兩個原因,文中對每種原因給大家詳細(xì)介紹,需要的朋友可以參考下2022-06-06MySQL5.6.22 綠色版 安裝詳細(xì)教程(圖解)
本文通過圖文并茂的形式給大家介紹了MySQL5.6.22 綠色版 安裝詳細(xì)教程,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧2016-11-11淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)
下面小編就為大家?guī)硪黄獪\談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02