Mysql表的簡單操作(基本技能)
在數(shù)據(jù)庫中,表的操作主要包括表的創(chuàng)建、查看、修改、刪除等。了解如何操作這些表是數(shù)據(jù)庫管理和開發(fā)的基本技能。
3.1 創(chuàng)建表
創(chuàng)建表時,指定表的結(jié)構(gòu)、數(shù)據(jù)類型、字符集、校驗規(guī)則和存儲引擎等。以下是創(chuàng)建表的詳細語法:
語法:
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ù)庫的默認字符集)
- collate: 校驗規(guī)則(可選,如果未指定,使用數(shù)據(jù)庫的默認校驗規(guī)則)
- engine: 存儲引擎(如 innodb、myisam 等)
注:括號[]里面可以省略,自定義寫或者不寫。

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

其中被圈起來的就是我們沒有寫,默認被添加的。
示例:
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)建一個名為
users的表,包含id、name、password和birthday字段。 - 設(shè)置字符集為
utf8,校驗規(guī)則為utf8_general_ci,存儲引擎使用myisam。
說明:
primary key:定義主鍵,確保該字段唯一且不為空。not null:字段不能為空。comment:給字段加注釋,便于理解字段用途。
存儲引擎說明:
不同存儲引擎具有不同的特性:
- myisam:適用于讀取較多的場景,存儲和索引分離。
- innodb:支持事務(wù),行級鎖,外鍵約束,適用于高并發(fā)寫操作。
3.2 查看表結(jié)構(gòu)
語法:
desc 表名;
或者
show columns from table_name;
- table_name: 表的名稱
使用規(guī)則:
- describe: 顯示表的字段信息,包括字段名、數(shù)據(jù)類型、是否允許
null值、鍵的類型(如primary key、index等)及其他信息。 - show columns: 和
describe類似,但輸出格式可能略有不同。
示例:
describe user;

3.3 修改表
1. 添加字段
語法:
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: 添加新字段時,可以指定新字段的默認值、約束條件以及字段的位置(是否放在已有字段后面)。
示例:
alter table user add assets varchar(100) comment '圖片路徑' after birthday;
作用:
向 users 表中添加名為 assets 的字段,用于保存圖片路徑,數(shù)據(jù)類型為 varchar(100),并放置在 birthday 字段后。

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

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

4.修改字段名
語法:
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ù)據(jù)類型和約束。修改時,必須提供字段的完整數(shù)據(jù)類型,即使只是修改名稱,也需要指定數(shù)據(jù)類型。
- 注意:在修改字段名時,不能省略數(shù)據(jù)類型和原字段名稱。
示例:
alter table users change column name xingming varchar(60) not null;
作用:
- 將
users表中的name字段重命名為xingming,并將數(shù)據(jù)類型修改為varchar(60),且字段不能為空(not null)。

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

6.刪除表
drop table [表名];
3.4 實踐案例:修改表
假設(shè)我們有一個 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 字段的長度:
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)建表時,確保字段類型、約束條件、字符集和存儲引擎的選擇合適。
- 修改表:通過
alter table命令,可以添加、刪除、修改字段,甚至修改表名。 - 刪除表:使用
drop table命令刪除表,操作時要格外小心。
注意:所有的修改表結(jié)構(gòu)的操作都會影響數(shù)據(jù)完整性,因此在進行這些操作時,務(wù)必先做好備份。
到此這篇關(guān)于Mysql表的簡單操作的文章就介紹到這了,更多相關(guān)Mysql表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表
- DBeaver連接本地MySQL并創(chuàng)建數(shù)據(jù)庫/表的基礎(chǔ)操作教程
- mysql創(chuàng)建表分區(qū)的實現(xiàn)示例
- MySQL實現(xiàn)簡單的創(chuàng)建庫和創(chuàng)建表操作方法
- mysql中根據(jù)已有的表來創(chuàng)建新表的三種方式(最新推薦)
- MySQL?alter命令修改表語法實例詳解
- 修改MySQL所有表的編碼或修改某個字段的編碼步驟詳解
- Navicat中新建MySQL數(shù)據(jù)庫與新建、修改、刪除數(shù)據(jù)表及刪除數(shù)據(jù)庫詳細操作方法
- mysql如何修改表結(jié)構(gòu)(alter table),多列/多字段
相關(guān)文章
SQL查詢之字段是逗號分隔開的數(shù)組如何查詢匹配數(shù)據(jù)問題
這篇文章主要介紹了SQL查詢之字段是逗號分隔開的數(shù)組如何查詢匹配數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
mysql中insert ignore、insert和replace的區(qū)別及說明
這篇文章主要介紹了mysql中insert ignore、insert和replace的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
mysql 5.7.18 Installer安裝下載圖文教程
這篇文章主要為大家詳細介紹了mysql 5.7.18 Installer安裝下載圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

