Mysql表的簡(jiǎn)單操作(基本技能)
在數(shù)據(jù)庫(kù)中,表的操作主要包括表的創(chuàng)建、查看、修改、刪除等。了解如何操作這些表是數(shù)據(jù)庫(kù)管理和開(kāi)發(fā)的基本技能。
3.1 創(chuàng)建表
創(chuàng)建表時(shí),指定表的結(jié)構(gòu)、數(shù)據(jù)類型、字符集、校驗(yàn)規(guī)則和存儲(chǔ)引擎等。以下是創(chuàng)建表的詳細(xì)語(yǔ)法:
語(yǔ)法:
create table table_name (
field1 datatype [constraint],
field2 datatype [constraint],
...
) [character set charset_name] [collate collation_name] [engine storage_engine];- field: 表示列名(字段名)
- datatype: 列的數(shù)據(jù)類型(如 int、varchar、date 等)
- constraint: 可選的約束條件(如 primary key、not null、unique 等)
- character set: 字符集(可選,如果未指定,使用數(shù)據(jù)庫(kù)的默認(rèn)字符集)
- collate: 校驗(yàn)規(guī)則(可選,如果未指定,使用數(shù)據(jù)庫(kù)的默認(rèn)校驗(yàn)規(guī)則)
- engine: 存儲(chǔ)引擎(如 innodb、myisam 等)
注:括號(hào)[]里面可以省略,自定義寫或者不寫。

查看表的創(chuàng)建信息:
show create table user;

其中被圈起來(lái)的就是我們沒(méi)有寫,默認(rèn)被添加的。
示例:
create table user (
id int primary key,
name varchar(20) not null comment '用戶名',
password char(32) not null comment '密碼是32位的md5值',
birthday date comment '生日'
) character set utf8 collate utf8_general_ci engine=myisam;作用:
- 創(chuàng)建一個(gè)名為
users的表,包含id、name、password和birthday字段。 - 設(shè)置字符集為
utf8,校驗(yàn)規(guī)則為utf8_general_ci,存儲(chǔ)引擎使用myisam。
說(shuō)明:
primary key:定義主鍵,確保該字段唯一且不為空。not null:字段不能為空。comment:給字段加注釋,便于理解字段用途。
存儲(chǔ)引擎說(shuō)明:
不同存儲(chǔ)引擎具有不同的特性:
- myisam:適用于讀取較多的場(chǎng)景,存儲(chǔ)和索引分離。
- innodb:支持事務(wù),行級(jí)鎖,外鍵約束,適用于高并發(fā)寫操作。
3.2 查看表結(jié)構(gòu)
語(yǔ)法:
desc 表名;
或者
show columns from table_name;
- table_name: 表的名稱
使用規(guī)則:
- describe: 顯示表的字段信息,包括字段名、數(shù)據(jù)類型、是否允許
null值、鍵的類型(如primary key、index等)及其他信息。 - show columns: 和
describe類似,但輸出格式可能略有不同。
示例:
describe user;

3.3 修改表
1. 添加字段
語(yǔ)法:
alter table table_name add column column_name datatype [constraint] [after existing_column];
注:mysql支持分段書寫指令
- table_name: 表的名稱
- column_name: 新增字段的名稱
- datatype: 字段的數(shù)據(jù)類型
- constraint: 可選約束,指定列的規(guī)則,如
not null、default等 - existing_column: 如果指定,將字段添加到該字段之后
使用規(guī)則:
- add column: 添加新字段時(shí),可以指定新字段的默認(rèn)值、約束條件以及字段的位置(是否放在已有字段后面)。
示例:
alter table user add assets varchar(100) comment '圖片路徑' after birthday;
作用:
向 users 表中添加名為 assets 的字段,用于保存圖片路徑,數(shù)據(jù)類型為 varchar(100),并放置在 birthday 字段后。

2. 修改字段
語(yǔ)法:
alter table table_name modify column column_name datatype [constraint];
- column_name: 要修改的字段名稱
- datatype: 新的數(shù)據(jù)類型
- constraint: 可選約束
使用規(guī)則:
- modify column: 修改現(xiàn)有字段的類型或約束條件??梢愿淖償?shù)據(jù)類型、長(zhǎng)度、是否允許
null等。 - 修改字段時(shí),字段位置不能更改。
示例:
alter table users modify name varchar(60) not null;
作用:
- 修改
users表中name字段的長(zhǎng)度為60,并設(shè)置為not null。

3. 刪除字段
語(yǔ)法:
alter table table_name drop column column_name;
- column_name: 要?jiǎng)h除的字段名稱
使用規(guī)則:
- drop column: 刪除字段時(shí)會(huì)丟失該字段的數(shù)據(jù),操作前請(qǐng)確保備份。
示例:
drop table user drop asserts;
作用:
- 刪除
user表中的 asserts 字段。

4.修改字段名
語(yǔ)法:
alter table table_name change column old_column_name new_column_name datatype [constraint];
- table_name: 表的名稱
- old_column_name: 要修改的字段的原名稱
- new_column_name: 修改后的字段名稱
- datatype: 字段的數(shù)據(jù)類型(必須重新指定)
- constraint: 可選的約束(如
not null、unique等)
使用規(guī)則:
- change column: 用于修改字段名稱,同時(shí)可以修改字段的數(shù)據(jù)類型和約束。修改時(shí),必須提供字段的完整數(shù)據(jù)類型,即使只是修改名稱,也需要指定數(shù)據(jù)類型。
- 注意:在修改字段名時(shí),不能省略數(shù)據(jù)類型和原字段名稱。
示例:
alter table users change column name xingming varchar(60) not null;
作用:
- 將
users表中的name字段重命名為xingming,并將數(shù)據(jù)類型修改為varchar(60),且字段不能為空(not null)。

5. 修改表名
語(yǔ)法:
alter table old_table_name rename to new_table_name;
- old_table_name: 原表名
- new_table_name: 新表名
使用規(guī)則:
- rename to: 修改表名時(shí),要保證新名稱沒(méi)有與現(xiàn)有表重名。

6.刪除表
drop table [表名];
3.4 實(shí)踐案例:修改表
假設(shè)我們有一個(gè) users 表,包含以下字段:id、name、password 和 birthday。
1. 插入數(shù)據(jù)
insert into users (id, name, password, birthday)
values (1, 'a', 'b', '1982-01-04'),
(2, 'b', 'c', '1984-01-04');2. 查看表結(jié)構(gòu)
describe users;
3. 添加字段:添加 assets 字段,保存圖片路徑:
alter table users add assets varchar(100) comment '圖片路徑' after birthday;
4. 修改字段:修改 name 字段的長(zhǎng)度:
alter table users modify name varchar(60);
5. 刪除字段:刪除 password 字段:
alter table users drop password;
6. 修改表名:將表名 users 改為 employee:
alter table users rename to employee;
7. 最終查看表結(jié)構(gòu)
describe employee;
注:
- 創(chuàng)建表:創(chuàng)建表時(shí),確保字段類型、約束條件、字符集和存儲(chǔ)引擎的選擇合適。
- 修改表:通過(guò)
alter table命令,可以添加、刪除、修改字段,甚至修改表名。 - 刪除表:使用
drop table命令刪除表,操作時(shí)要格外小心。
注意:所有的修改表結(jié)構(gòu)的操作都會(huì)影響數(shù)據(jù)完整性,因此在進(jìn)行這些操作時(shí),務(wù)必先做好備份。
到此這篇關(guān)于Mysql表的簡(jiǎn)單操作的文章就介紹到這了,更多相關(guān)Mysql表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表
- DBeaver連接本地MySQL并創(chuàng)建數(shù)據(jù)庫(kù)/表的基礎(chǔ)操作教程
- mysql創(chuàng)建表分區(qū)的實(shí)現(xiàn)示例
- MySQL實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建庫(kù)和創(chuàng)建表操作方法
- mysql中根據(jù)已有的表來(lái)創(chuàng)建新表的三種方式(最新推薦)
- MySQL?alter命令修改表語(yǔ)法實(shí)例詳解
- 修改MySQL所有表的編碼或修改某個(gè)字段的編碼步驟詳解
- Navicat中新建MySQL數(shù)據(jù)庫(kù)與新建、修改、刪除數(shù)據(jù)表及刪除數(shù)據(jù)庫(kù)詳細(xì)操作方法
- mysql如何修改表結(jié)構(gòu)(alter table),多列/多字段
相關(guān)文章
MySQL數(shù)據(jù)表從創(chuàng)建到管理操作大全
本文詳細(xì)介紹了MySQL數(shù)據(jù)表的創(chuàng)建、查看、修改和刪除操作,包括存儲(chǔ)引擎選擇、表結(jié)構(gòu)修改注意事項(xiàng)以及備份和測(cè)試的重要性,通過(guò)實(shí)例和實(shí)戰(zhàn)案例,幫助讀者掌握MySQL表的基本操作技巧,感興趣的朋友跟隨小編一起看看吧2026-02-02
mysql8.0.20安裝與連接navicat的方法及注意事項(xiàng)
這篇文章主要介紹了mysql8.0.20安裝與連接navicat的方法及注意事項(xiàng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
mysql慢查詢優(yōu)化之從理論和實(shí)踐說(shuō)明limit的優(yōu)點(diǎn)
今天小編就為大家分享一篇關(guān)于mysql慢查詢優(yōu)化之從理論和實(shí)踐說(shuō)明limit的優(yōu)點(diǎn),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
MySQL8.0報(bào)錯(cuò)Public?Key?Retrieval?is?not?allowed的原因及解決方法
這篇文章主要給大家介紹了MySQL8.0報(bào)錯(cuò)Public?Key?Retrieval?is?not?allowed的原因及解決方法,文中通過(guò)代碼示例和圖文介紹的非常詳細(xì),有遇到相同問(wèn)題的朋友可以參考閱讀一下2024-01-01
MySQL 存儲(chǔ)引擎 MyISAM詳解(最新推薦)
使用 MyISAM 存儲(chǔ)引擎的表占用空間很小,但是由于使用表級(jí)鎖定,所以限制了讀/寫操作的性能,通常用于中小型的Web應(yīng)用和數(shù)據(jù)倉(cāng)庫(kù)配置中的只讀或主要是讀的場(chǎng)景,這篇文章主要介紹了MySQL 存儲(chǔ)引擎 MyISAM詳解,需要的朋友可以參考下2025-05-05

