1、单字段主键:

create table tb_emp
(
id int(11) primary key,
name varchar(25),
depId int(11),
salary float
);

primary key 指定该列为主键;

定义完所有列之后指定主键:

create table tb_emp
(
id int(11),
name varchar(25),
deptId int(11),
salary float,
primary key(id)
);

2、使用外键约束

语法:

constraint <外键名> foreign key 字段名1 ,字段名2,... references <主表名> 主键列1,主键列2,...
create table tb_dept1
(
id int(11) primary key,
name varchar(22) not null,
location varchar(50)
);
create table tb_emp
(
id int(11) primary key,
name varchar(25),
deptId int(11),
salary float,
constraint fk_emp_dept1 foreign key(deptId) references tb_dept1(id)
);

以上语句执行之后,在表tb_emp上添加了名称为fk_emp_dept1的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id。

3、非空约束

语法:

字段名 数据类型 not null
create table tb_emp
(
id int(11) primary key,
name varchar(25) not null,
deptId int(11),
salary float
);

执行之后,在tb_emp中创建了一个name字段,其插入值不能为空(not null)。

4、唯一性约束

语法:

create table tb_dept
(
id int(11) primary key,
name varchar(22) unique,
location varchar(50)
);
字段名 数据类型 unique

也可以在定义完所有列之后指定唯一约束,语法如下:

constraint <约束名> unique (<字段名>)
create table tb_dept
(
id int(11) primary key,
name varchar(22),
location varchar(50),
constraint sth unique(name)
);

unique和primary key的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key声明;声明为primary key 的列不允许有空值,但是声明为unique的字段允许空值(null)的存在。

5、使用默认约束

语法:

字段名 数据类型 default 默认值
create table tb_emp
(
id int(11) primary key,
name varchar(25) not null,
deptId int(11) default 111,
salary float
);

以上语句执行之后,表tb_emp上的字段deptId拥有了一个默认值111,新插入的记录如果没有指定部门编号,则默认都为111。

6、设置表的属性值自动增加

语法:

字段名 数据类型 auto_increment
create table tb_emp
(
id int(11) primary key auto_increment,
name varchar(25) not null,
deptId int(11),
salary float
);

在mysql中,auto_increment的初始值是1,每新增一条记录,字段值自动加1。一个表只能有一个字段使用auto_increment约束,且该字段必须为主键的一部分。auto_increment约束的字段可以是任何整数类型(tinyint、smallin、int、bigint等)。

mysql 表基本操作(创建表、添加主键、外键、非空约束、唯一性约束、默认约束、自动增加)相关推荐

  1. SQL数据库语言基础之SqlServer数据表的六大约束(主键、外键、检查、非空、唯一性、默认值约束)的创建

    文章目录 一.主键约束(primary key) 二.外键约束(foreign key) 三.检查约束(check) 四.非空约束(not null) 五.唯一性约束(unique) 六.默认值约束( ...

  2. 2019-7-27 [MySQL] DQL 简单查询[别名/去重/运算] 条件查询 排序查询 聚合查询 分组查询 导出与导入 多表操作[一对多/多对多][创外键 创联合主键 约束 添加 删除 测试]

    文章目录 5 SQL语句(DQL) 5.1DQL准备工作和语法 5.1.1准备工作 5.1.2 DQL语法: 5.2 简单查询 5.2.1 查询所有的商品 5.2.2 查询商品名和商品价格. 5.2. ...

  3. 数据库名词解释 主键外键检查 非空、唯一性约束 父表 子表

    Oracle数据库中,约束具体包括非空(NOT NULL)约束.唯一键(UNIQUE)约束.主键(PRIMARY KEY)约束.外键(FOREIGN KEY)约束和检查(CHECK)约束五种. 1:主 ...

  4. 【Python】Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  5. Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  6. java获取表主外键_通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  7. mysql 动态 建表,mysql数据库动态创建表的实例分享

    摘要 腾兴网为您分享:mysql数据库动态创建表的实例分享,易视云3,完美root,刷机大师,手游宝等软件知识,以及清仓兔,找明星,爱普生1500w,txt完结小说全本软件,windows自带画图软件 ...

  8. 约束,MySQL约束,非空默认值,主键外键唯一自增,完整详细可收藏

    文章目录 1. 约束(constraint)概述 2. 非空约束 3. 唯一性约束 4. PRIMARY KEY 约束 5. 自增列:AUTO_INCREMENT 6. FOREIGN KEY 约束 ...

  9. mysql中表的约束,主键外键唯一键

    mysql2 表的约束 空属性(NULL) 默认值 列描述 zerofill 主键 主键属性 复合主键 追加主键 删除主键 自增长 唯一键 外键 表的约束 空属性(NULL) 此时 name 的 Nu ...

  10. mysql 一 、关系模型——主键——外键——索引

    关系模型 表的每一行称为记录(Record),记录是一个逻辑意义上的数据. 表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段. 字段定义了数据类型(整型.浮点型.字符串.日 ...

最新文章

  1. 从SQL Server CloudDBA 看云数据库智能化
  2. 从IT人士到IT经理倪应该学会的30 项技能
  3. 兔子吃萝卜的c语言编程,狼追兔子的c语言实现
  4. mybatis 中case_解决mybatis case when 报错的问题
  5. Jupyter Lab在线运行矩池云教程
  6. 分享一个vue项目“脚手架”项目的实现步骤
  7. 基于linux的安全通讯过程
  8. 微信小程序开发视频分享
  9. 高斯滤波 c++实现
  10. iPhone 12 Pro测量人的身高
  11. 程序员转行适合做什么?
  12. Android底部导航栏的三种风格实现
  13. paste shell 分隔符_Shell paste命令
  14. 怎样为程序员做职业规划
  15. vue.js 的学习之路
  16. 顾客满意度意义与作用
  17. 理解Object.assign
  18. UE4 Windows环境下游戏打包基础教程(ios, windows, android)(UFE方式以及命令行方式)
  19. layui table勾选框的修改_Layui默认选中table的CheckBox复选框方法_飛雲_前端开发者...
  20. 安卓app新版本的检测与更新(升级)

热门文章

  1. Python代码破解路由器config.bin从入门到放弃
  2. 支付宝小程序访问浙里办应用,提示页面访问受限,IOS无法访问
  3. 深度揭秘暴力破解SSH密码 —— Medusa美杜莎
  4. Kafka高性能之页缓存(page cache)使用
  5. AVC编码中的规格 :High、Baseline、Main什么意思?还有High@L3.0、High@L4.0、High@L5.1等
  6. math_数集(数集符号)/算数运算中英文对照
  7. NPN、PNP型三极管的常见问题
  8. 自愈的三把钥匙:接受,改变,离开
  9. mysql wresp_mysql
  10. 对浮点数取模(求余)