MySQL數(shù)據(jù)表從創(chuàng)建到管理操作大全
1. 創(chuàng)建數(shù)據(jù)表
基本語法
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) CHARACTER SET 字符集 COLLATE 校驗(yàn)規(guī)則 ENGINE 存儲引擎;參數(shù)說明
- field:列名
- datatype:列的數(shù)據(jù)類型
- CHARACTER SET:字符集(默認(rèn)為數(shù)據(jù)庫字符集)
- COLLATE:校驗(yàn)規(guī)則(默認(rèn)為數(shù)據(jù)庫校驗(yàn)規(guī)則)
- ENGINE:存儲引擎(如InnoDB、MyISAM)
創(chuàng)建表示例
CREATE TABLE users (
id INT,
name VARCHAR(20) COMMENT '用戶名',
password CHAR(32) COMMENT '密碼是32位的md5值',
birthday DATE COMMENT '生日'
) CHARACTER SET utf8 ENGINE MyISAM;2. 存儲引擎與物理文件
MyISAM存儲引擎
創(chuàng)建表后會生成三個文件:
users.frm:表結(jié)構(gòu)文件users.MYD:表數(shù)據(jù)文件users.MYI:表索引文件
InnoDB存儲引擎
通常生成兩個文件:
table_name.frm:表結(jié)構(gòu)文件table_name.ibd:表數(shù)據(jù)和索引文件
注意:不同存儲引擎的文件結(jié)構(gòu)和特性不同,應(yīng)根據(jù)業(yè)務(wù)需求選擇。
3. 查看表結(jié)構(gòu)
使用DESC命令查看表的詳細(xì)結(jié)構(gòu):
DESC 表名;
示例輸出:
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
4. 修改表結(jié)構(gòu)
在實(shí)際開發(fā)中,經(jīng)常需要修改表結(jié)構(gòu)來滿足需求變化。
4.1 添加字段
-- 在birthday字段后添加圖片路徑字段 ALTER TABLE users ADD assets VARCHAR(100) COMMENT '圖片路徑' AFTER birthday;
特點(diǎn):添加新字段不會影響現(xiàn)有數(shù)據(jù),新字段的值為NULL。
4.2 修改字段
-- 將name字段長度改為60 ALTER TABLE users MODIFY name VARCHAR(60);
4.3 刪除字段
-- 刪除password字段(謹(jǐn)慎操作!) ALTER TABLE users DROP password;
警告:刪除字段會永久刪除該列的所有數(shù)據(jù),不可恢復(fù)!
4.4 重命名表
-- 將users表重命名為employee ALTER TABLE users RENAME TO employee; -- 或簡寫 ALTER TABLE users RENAME employee;
4.5 重命名字段
-- 將name字段改為xingming ALTER TABLE employee CHANGE name xingming VARCHAR(60);
注意:使用CHANGE時需要重新定義字段的完整屬性。
5. 刪除表
語法格式
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name;
示例
-- 安全刪除表(如果表存在才刪除) DROP TABLE IF EXISTS t1;
6. 實(shí)戰(zhàn)案例演示
完整操作流程
-- 1. 創(chuàng)建表
CREATE TABLE users (
id INT,
name VARCHAR(20),
password CHAR(32),
birthday DATE
);
-- 2. 插入數(shù)據(jù)
INSERT INTO users VALUES
(1, 'a', 'b', '1982-01-04'),
(2, 'b', 'c', '1984-01-04');
-- 3. 添加新字段
ALTER TABLE users ADD assets VARCHAR(100) AFTER birthday;
-- 4. 修改字段
ALTER TABLE users MODIFY name VARCHAR(60);
-- 5. 刪除字段
ALTER TABLE users DROP password;
-- 6. 重命名表
ALTER TABLE users RENAME employee;7. 重要注意事項(xiàng)
- 備份優(yōu)先:在執(zhí)行任何表結(jié)構(gòu)修改前,建議先備份數(shù)據(jù)
- 測試環(huán)境驗(yàn)證:在生產(chǎn)環(huán)境操作前,在測試環(huán)境充分驗(yàn)證
- 業(yè)務(wù)低峰期操作:大表的結(jié)構(gòu)修改可能鎖表,選擇業(yè)務(wù)低峰期進(jìn)行
- 外鍵約束:如果表有外鍵關(guān)聯(lián),修改時需要特別小心
- 數(shù)據(jù)完整性:刪除字段或表前,確認(rèn)數(shù)據(jù)不再需要
總結(jié)
掌握MySQL表的基本操作是數(shù)據(jù)庫管理的核心技能。從創(chuàng)建表時的存儲引擎選擇,到日常的表維護(hù)操作,每一步都需要謹(jǐn)慎考慮。特別是修改表結(jié)構(gòu)時,要充分評估對現(xiàn)有業(yè)務(wù)的影響,做好數(shù)據(jù)備份,確保操作的安全性和穩(wěn)定性。
通過本文的學(xué)習(xí),你應(yīng)該能夠熟練進(jìn)行表的創(chuàng)建、查看、修改和刪除等基本操作,為后續(xù)的數(shù)據(jù)管理和查詢打下堅(jiān)實(shí)基礎(chǔ)。
到此這篇關(guān)于MySQL數(shù)據(jù)表操作全解析:從創(chuàng)建到管理的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)表操作全解析:從創(chuàng)建到管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表
- MySQL創(chuàng)建數(shù)據(jù)表時設(shè)定引擎MyISAM/InnoDB操作
- MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
- mysql中數(shù)據(jù)庫與數(shù)據(jù)表編碼格式的查看、創(chuàng)建及修改
- MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語法詳解
- 在Mysql上創(chuàng)建數(shù)據(jù)表實(shí)例代碼
- MySQL創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表的操作過程
- MySQL如何快速創(chuàng)建800w條測試數(shù)據(jù)表
相關(guān)文章
MySQL學(xué)習(xí)之MySQL基本架構(gòu)與鎖
這篇文章主要介紹了MySQL的基本架構(gòu)和鎖,鎖的分類有兩種有按粒度分,按功能,也有不同的類型,感興趣的小伙伴可以參考閱讀2023-03-03
詳解數(shù)據(jù)庫多表連接查詢的實(shí)現(xiàn)方法
這篇文章主要介紹了詳解數(shù)據(jù)庫多表連接查詢的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文大家能夠掌握數(shù)據(jù)庫多表查詢的方法,需要的朋友可以參考下2017-09-09
MySQL與JDBC之間的SQL預(yù)編譯技術(shù)講解
這篇文章主要介紹了MySQL與JDBC之間的SQL預(yù)編譯技術(shù)講解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

