MySQl数据约束练习
默认值约束
1 CREATE TABLE USER(
2 uid INT,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 DROP TABLE USER;
7 SELECT * FROM USER;
8 INSERT INTO USER(uid,uname) VALUES(1,'张三');
9 INSERT INTO USER VALUES(2,'李四','河南省');
10 INSERT INTO USER VALUES(3,'李四',NULL);
非空约束
1 CREATE TABLE USER(
2 uid INT NOT NULL,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 INSERT INTO USER(uid,uname) VALUES(1,'张三');
唯一约束
1 CREATE TABLE USER(
2 uid INT UNIQUE,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 INSERT INTO USER(uid,uname) VALUES(1,'张三');
7 INSERT INTO USER(uid,uname) VALUES(2,'张三');
主键约束(唯一+非空)
1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的!!!
2)主表的参考字段通用为主键!
3)添加数据: 先添加主表,再添加副表
4)修改数据: 先修改副表,再修改主表
5)删除数据: 先删除副表,再删除主表
一个表内只能有一个主键。
1 CREATE TABLE USER(
2 uid INT PRIMARY KEY,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 SELECT * FROM USER;
7 INSERT INTO USER(uid,uname) VALUES(1,'张三');
自增长约束AUTO_INCREMENT
1 CREATE TABLE USER(
2 uid INT PRIMARY KEY AUTO_INCREMENT,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 INSERT INTO USER(uname) VALUES('张三');
零填充
1 CREATE TABLE USER(
2 uid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT,
3 uname VARCHAR(10),
4 address VARCHAR(30) DEFAULT '山东省'
5 )
6 INSERT INTO USER(uname) VALUES('张三');
delete from 清空表不能删除约束
1 DELETE FROM USER;
TRUNCATE TABLE 清空表可以删除约束
1 TRUNCATE TABLE USER;
外键约束(约束两种表的数据)
1 CREATE TABLE dept(
2 deptid INT PRIMARY KEY AUTO_INCREMENT,
3 deptname VARCHAR(10)
4 )
5 INSERT INTO dept(deptname) VALUES('软件开发部');
6 INSERT INTO dept(deptname) VALUES('软件测试部');
7 INSERT INTO dept(deptname) VALUES('软件运维部');
8 SELECT * FROM dept;
9 CREATE TABLE empt(
10 eid INT PRIMARY KEY AUTO_INCREMENT,
11 ename VARCHAR(5),
12 deptid INT,
13 CONSTRAINT dept_empt_fk FOREIGN KEY(deptid) REFERENCES dept(deptid)
14 )
新增副表
1 INSERT INTO empt(ename,deptid) VALUES('张三',1);
2 SELECT * FROM empt
修改主表
1 UPDATE dept SET deptname=2 WHERE deptid=1;
2 UPDATE empt SET deptid=3 WHERE eid=1;
删除主表
1 DELETE FROM dept WHERE deptid=2;
MySQl数据约束练习的更多相关文章
- Mysql数据约束 整理
数据约束 1.默认值: 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null CREATE TABLE ...
- Java基础87 MySQL数据约束
1.默认值 -- 创建表student1,设置address字段有默认值 create table student1 ( id int, name ), address ) default '广东省深 ...
- MySQL数据约束
定义:建表时在各字段类型后设置,用来对用户操作表的数据进行约束. 代码: 1.默认值 : default ' ' 作用:当用户对使用默认值的字段不插入值的时候,就使用默认值(自动填充). 注意: ...
- MySQL数据约束和关联查询
1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null. 2 非空 not null:在建表的时候字段后使用 not null. 非空字段必须赋值,并且不能是n ...
- MYSQL中约束及修改数据表
MYSQL中约束及修改数据表 28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNI ...
- mysql 数据操作 单表查询 where 约束 目录
mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...
- mysql之约束以及修改数据表
数据约束的分类: ———————————————————————————————————————————————————— 外键约束的要求解析: //在my文件中的这句话代表着搜索引擎,如果不是的就需 ...
- Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle 1. 主键1 2. uniq index2 3. ...
- MySQL 之存储引擎与数据类型与数据约束
一.存储引擎场景 1.InnoDB 用于事务处理应用程序,支持外键和行级锁.如果应用对事物的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多更新和删除操作,那 ...
随机推荐
- sql:inner join,left join,right join,full join用法及区别
join的语法: select [字段] from [表名1] inner/left/right/full join [表名2] on [表名1.字段1] <关系运算符> [表名2.字段2 ...
- .net中几个经常用到的字符串的截取
string str="123abc456";int i=3;1 取字符串的前i个字符 str=str.Substring(0,i); // or str=str.Remov ...
- DOM心得
一.自定义属性值两种方法的注意事项 1.用元素节点.属性(元素节点[属性])绑定的属性值不会出现在标签上. 2.用get/set/removeAttribut(,)等绑定的属性会出现在标签上.且两种方 ...
- Java 常见面试题(一)
1)什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件.Java被设 ...
- Tools.Eclipse.HowToImportAnAndroidLibraryProjectIntoWorkspace
1. File->New->Other Picture-1 2. Select "Android Project from Existing Code", and cl ...
- How to convert a PDF file to JPEGs using PHP
Hey, Today I would like to show you how we can convert PDF to JPEG using imagick extension. Imagick ...
- spring converter-message 规则
spring 判断返回值使用哪个 converter 时,会执行两次converter 循环.. 第一次会根据 返回类型(converter的support方法) 和 mediaType 遍历所有co ...
- IOS初级:UIScrollView & UIPageControl
UIScrollView其实构建的就像一列很长的火车,每滑动一个屏幕,展示一节车厢. //主屏幕高度 #define kScreenHeight [UIScreen mainScreen].bound ...
- 2018.12.31 bzoj3771: Triple(生成函数+fft+容斥原理)
传送门 生成函数经典题. 题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数. 思路: 令A(x),B(x),C(x)A(x),B(x),C(x)A(x) ...
- 在table中tr的display:block在firefox下显示布局错乱问题
[转自:] http://blog.csdn.net/sd2131512/article/details/4720345 按照常理,对于某一单元行需要显示时,使用:display:block属性,不需 ...