网站首页 > 技术文章 正文
学习MySql数据库,最常用的创建表语法如下:
[中括号内为可选参数]
create table 表名(
字段名1 类型[(宽度)] [约束条件],
字段名2 类型[(宽度)] [约束条件],
字段名3 类型[(宽度)] [约束条件]
)
# 注意
1、在同一张表中,字段名不能相同
2、宽度 和 约束条件为可选参数,字段名 和 字段名下记录的类型 是必须的
3、最后一个字段后不能加逗号
在创建表的时候我们需要考虑到数据的类型,简单的介绍如下:
整型:存储各种年龄,等级,id,号码等数据
浮点型:记录身高,体重,薪资等带小数的数据,字段限制特点:(5,3)前一位表示所有的位数,后一位表示小数个数
字符类型:char(定长)、varchar(变长)
时间类型:date:2019-05-01
time:11:11:11
Datetime:2019-01-02 11:11:11
Year:2019
枚举与集合类型:
枚举 enum # 多选一
集合 set # 多选多
约束条件:
NOT NULL 标识该字段不能为空
DEFAULT 为该字段设置默认值
PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK) 标识该字段为该表的外键
UNIQUE KEY (UK) 标识该字段的值是唯一的
AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键)
UNSIGNED 无符号
ZEROFILL 使用0填充
not null+default(字段不能为空+为字段设置默认值)
unique(单列唯一、联合唯一)
primary key + auto_increment
primary key: 标识该字段为该表的主键,可以唯一的标识记录 auto_increment: 标识该字段的值自动增长(整数类型,而且为主键)
以上都是创建不存在表的常用要点,那么除此之外还有复制表及数据的语法,如下:
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
此语法可以复制表及数据,但是不具备复制表的主键、索引、外键。
SHOW CREATE TABLE orig_tbl;
此语法是生成表的创建脚本,需要手动改表名。
CREATE TABLE targetTable LIKE orig_tbl;
此语法是完全复制表结构,但是不包含数据。
如果大家觉得对自己有所帮助,帮忙转发、点赞、加关注,谢谢。
猜你喜欢
- 2024-11-15 清理Ubuntu虚拟机磁盘空间(ubuntu虚拟机磁盘空间不足)
- 2024-11-15 在工作中 MySQL 的一些开发规范(干货)!
- 2024-11-15 MybatisPlus全套Api小解(一)(mybatis_plus)
- 2024-11-15 关于SSD存储原理的介绍(ssd硬盘存储原理)
- 2024-11-15 mysql简单的入门教程(mysql入门很简单)
- 2024-11-15 int(11) 和 int(4) 有什么区别?MySQL 整数类型详细解析
- 2024-11-15 SqlUtils 使用(sql函数的使用方法及实例大全)
- 2024-11-15 《优化接口设计的思路》系列:接口的权限控制
- 2024-11-15 java 培训 MySQL 一次性插入多行数据的操作
- 2024-11-15 Python自学教程|3万字详解每个重要知识点(2)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)