默认值约束

 
 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数据约束练习的更多相关文章

  1. Mysql数据约束 整理

    数据约束 1.默认值: 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null   CREATE TABLE ...

  2. Java基础87 MySQL数据约束

    1.默认值 -- 创建表student1,设置address字段有默认值 create table student1 ( id int, name ), address ) default '广东省深 ...

  3. MySQL数据约束

    定义:建表时在各字段类型后设置,用来对用户操作表的数据进行约束. 代码: 1.默认值  :   default ' ' 作用:当用户对使用默认值的字段不插入值的时候,就使用默认值(自动填充). 注意: ...

  4. MySQL数据约束和关联查询

    1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null. 2 非空 not null:在建表的时候字段后使用  not null. 非空字段必须赋值,并且不能是n ...

  5. MYSQL中约束及修改数据表

    MYSQL中约束及修改数据表 28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括:    NOT NULL(非空约束)    PRIMARY KEY(主键约束)    UNI ...

  6. mysql 数据操作 单表查询 where 约束 目录

    mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...

  7. mysql之约束以及修改数据表

    数据约束的分类: ———————————————————————————————————————————————————— 外键约束的要求解析: //在my文件中的这句话代表着搜索引擎,如果不是的就需 ...

  8. Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle

    Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle 1. 主键1 2. uniq  index2 3.  ...

  9. MySQL 之存储引擎与数据类型与数据约束

    一.存储引擎场景 1.InnoDB 用于事务处理应用程序,支持外键和行级锁.如果应用对事物的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多更新和删除操作,那 ...

随机推荐

  1. Linux驱动之建立一个hello模块

    目标:在开发板上执行insmod hello.ko能在控制台打印出hello init:接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1.建立一个hell ...

  2. STL set,mulityset用法

    #include<iostream> #include <set> using namespace std; template <class T> class Ru ...

  3. P3587 [POI2015]POD

    题目描述 长度为n的一串项链,每颗珠子是k种颜色之一. 第i颗与第i-1,i+1颗珠子相邻,第n颗与第1颗也相邻.切两刀,把项链断成两条链.要求每种颜色的珠子只能出现在其中一条链中.求方案数量(保证至 ...

  4. SQL Server 2008重新保存表时出错

    在使用SQL Server 2008时,修改了表的字段名和类型名之后,点击保存按钮之后出现如下对话框:

  5. Laravel policy 的应用

    Laravel 提供更简单的方式来处理用户授权动作.类似用户认证,有 2 种主要方式来实现用户授权:gates 和策略,我这里主要讲解下策略的使用. 文档 上面有详细的说明,我这里只根据自己使用过程做 ...

  6. [Robot Framework] 执行时报 webdriver 异常

    在用Robot Framework通过Selenium2Library做web界面自动化测试的时候,报webdriver的错误: 此种情况是因为WebDriver的版本与浏览器的版本不对应. WebD ...

  7. [转]11种常见sqlmap使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  8. Robotframework与unittest对比

    都可以自动挂ui测试 都可以自动化接口测试

  9. idea下使用lombok

    转载 https://blog.csdn.net/u013177446/article/details/53943365 (1)pom引入依赖 <dependency> <group ...

  10. Mvvm Light 无法添加MvvmView(Win81)的问题

    After I create a MvvmLight(Win81) project, I want add a new view , but there is only MvvmView(Win8), ...