MySQL--表的操作

张开发
2026/4/17 2:40:50 15 分钟阅读

分享文章

MySQL--表的操作
创建表语法CREATE TABLE table_name( field1 datatype, field2 datatype, field3 datatype )character set 字符集 collate 校验规则 engine 存储引擎;CREATE TABLESQL关键字表示创建表table_name要创建的表的名称field1, field2, field3表中的列字段名datatype每个字段的数据类型如 INT, VARCHAR(255), DATE 等character set指定表中文本数据使用的字符编码常见字符集utf8, utf8mb4, gbk, latin1等例如 utf8mb4支持完整的Unicode包括emoji表情collate指定字符串比较和排序的规则例如 utf8mb4_general_ci不区分大小写通用规则例如 utf8mb4_bin二进制比较区分大小写例如 utf8mb4_unicode_ci基于Unicode标准的排序创建表案例create table users( id int, name varchar(20) comment用户名, password char(32) comment密码, birthday date comment生日, )character set utf8 engine MyISAM;查看表结构语法desc 表名;示例desc users;修改表在项目实际开发中经常修改某个表的结构比如字段名字字段大小字段类型表的字符集类型 表的存储引擎等等。我们还有需求添加字段删除字段等等。这时我们就需要修改表。添加列ALTER TABLE users ADD COLUMN phone VARCHAR(20) AFTER email;案例在user表添加两条记录insert into users values(1,a,b,2006-08-08),(2,b,c,2006-05-06);修改列-- 修改数据类型 ALTER TABLE users MODIFY COLUMN username VARCHAR(100); --修改列名 ALTER TABLE users CHANGE COLUMN email user_email VARCHAR(100);删除列ALTER TABLE users DROP COLUMN phone;删除表--安全删除 DROP TABLE IF EXISTS table_name; --强制删除 SET FOREIGN_KEY_CHECKS 0; DROP TABLE table_name; SET FOREIGN_KEY_CHECKS 1;清空表-- 快速清空不能回滚 TRUNCATE TABLE table_name; -- 与 DELETE 的区别 DELETE FROM table_name; -- 逐行删除可回滚 TRUNCATE TABLE table_name; -- 直接删除数据文件速度快重命名表-- 单个表重命名 RENAME TABLE old_name TO new_name; -- 批量重命名 RENAME TABLE table1 TO new_table1, table2 TO new_table2;复制表--仅复制结构 CREATE TABLE new_table LIKE old_table; --复制结构数据 CREATE TABLE new_table AS SELECT * FROM old_table; --部分复制 CREATE TABLE active_users AS SELECT id, username, email FROM users WHERE status active;

更多文章