
MySQL数据表操作
UNSIGNED:无符号位,长度从0开始 ZEROFILL:填充0,字段为UNSIGNED NOT NULL:非空约束 DEFAULT:默认值 PRIMARY KEY:唯一主键 AUTO_INCREMENT:自增长 UNIQUE KEY:唯一索引 FOREIGN KEY:外键约束
发布日期:2021-05-08 20:22:08
浏览次数:25
分类:精选文章
本文共 1696 字,大约阅读时间需要 5 分钟。
数据表
数据表在数据库中用于存储数据,表名需唯一且不含特殊字符。
查看所有数据表
SHOW [FULL] TABLES [FROM|IN] db_name [LIKE 'pattern' | WHERE expr];
可使用like或where条件限制查询结果。
创建数据表
CREATE TABLE [IF NOT EXISTS] tbl_name (字段名称 字段属性 [完整性约束条件], ...) ENGINE=存储引擎 CHARSET=编码方式;
约束条件:
CREATE TABLE IF NOT EXISTS tb_employee ( no TINYINT AUTO_INCREMENT KEY, id VARCHAR(4) NOT NULL UNIQUE KEY, name VARCHAR(4) NOT NULL UNIQUE KEY, age INT NOT NULL DEFAULT 18, salary INT, department VARCHAR(100)) ENGINE = innoDB, DEFAULT CHARSET = utf8;
可复制其他表结构:
CREATE TABLE tb_employee1 LIKE tb_employee;
查看建表语句
SHOW CREATE TABLE tbl_name;
查看表结构
DESC|DESCRIBE tbl_name;SHOW COLUMNS FROM tbl_name;
字段名 | 描述 |
---|---|
Field | 字段描述 |
Type | 字段类型即范围 |
Null | 是否为空值 |
Key | 主键约束/唯一约束/外键 |
Default | 默认值 |
Extra | 其他约束 |
删除数据表
DROP TABLE tbl_name;
表结构操作
添加、删除字段
ALTER TABLE tbl_name ADD (字段名称 字段属性 [约束条件] [FIRST|AFTER 字段名称], ...);
可在添加字段时指定位置:
ALTER TABLE tbl_name DROP 字段名;
添加、删除默认值
ALTER TABLE tbl_name ALTER 字段名 SET DEFAULT 默认值;ALTER TABLE tbl_name ALTER 字段名 DROP DEFAULT;
修改字段名称、字段类型、字段属性、约束条件
-- 修改字段属性:ALTER TABLE tbl_name MODIFY 字段名 字段类型 字段属性 [约束条件];
-- 修改字段名称:ALTER TABLE tbl_name CHANGE 原字段名 新字段名 字段类型 字段属性 [约束条件];
可在修改时指定添加位置:
ALTER TABLE tb_employees MODIFY age int AFTER department;
增加、删除主键
ALTER TABLE tbl_name ADD PRIMARY KEY (字段名);ALTER TABLE tbl_name DROP PRIMARY KEY;
需先删除AUTO_INCREMENT属性后删除主键:
增加、删除唯一索引
ALTER TABLE tbl_name ADD UNIQUE KEY|INDEX [IDX_NAME] (COLUMN,...);ALTER TABLE tbl_name DROP UNIQUE IDX_NAME;
修改数据表名
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;
修改AUTO_INCREMENT值
ALTER TABLE tbl_name AUTO_INCREMENT=值;
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月26日 07时57分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetcode——第203题——虚拟头结点
2019-03-09
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2019-03-09
MySQL----基础及常用命令
2019-03-09
flink启动(二)
2019-03-09
软件架构设计和MESH经验之谈
2019-03-09
关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
2019-03-09
Windows2016 FTP用户隔离
2019-03-09
js传入参数是中文的时候出现 “******”未定义错误
2019-03-09
吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)
2019-03-09
pair的用法
2019-03-09
SQL基本操作命令
2019-03-09
C# WinForm程序退出的方法
2019-03-09
onFailure unexpected end of stream
2019-03-09
Flex 布局的自适应子项内容过长导致其被撑大问题
2019-03-09
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
斐波那契数列两种算法的时间复杂度
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09