第三章   保证数据完整性

3.1 数据完整性的概述:实体完整性  域完整性  引用完整性  用户自定义完整性

3.2 数据完整性的实现

3.2.1 创建非空约束  (在定义列后加上  not null )默认为 null

3.2.2 创建主键约束-- primary key   主键列不允许储存null值。

3.2.3 设置唯一约束   unique

3.2.4 设置默认值  default

3.2.5 设置检查约束(MySQL不支持)

创建表:student

3.2.6 使用自动编号列:auto_increment

1: 改变自动增长值:

alter table  student  auto_increment=1000;

2:添加主键约束 ,唯一约束,默认约束,自动增长(自动增长只能用在主键上),都用 change

alter table student  change  id id primary key ;

alter table student  chang gender gender varchar(4) unique;

alter table student  change name name varchar(20) default "张三";

alter table student  change idid int primary key  auto_increment;

3:删除主键约束,唯一约束(删除唯一约束的时候  实际上是删除索引),默认约束,外键约束 ,都用drop

alter table student drop primary key;

alter table student drop index gender;

alter table student drop name name varchar(20);

alter table student drop primary key fk_name;

4:添加外键约束用add。

5:contraint   约束 ; references 引用 ; foreign key 外键 ;default 默认;unique 唯一;auto_increment 自动增长;

第四章  使用DML语句更改数据

本章目标   使用insert语句添加数据   使用update语句修改数据   使用delete语句删除数据

4.1 添加新数据

4.1.1 插入单行记录:

insert into (列名列表)values ()

或者       insert  into values ()    -- 简写

4.1.2 插入多行记录 :

insert into () values (),(),。。。。;

或者   insert  into values ();

insert  into values ();

insert  into values ();

4.1.3 数据表的复制

1: 以创建新表的复制形式

create table student_bak1 select * from student;

2:复制数据

create table student_bak2(

pk_id int primary key auto_increment,

name varchar(20) not null,

age int ,

gender char(3)  default "男",

birthday date,

phoneNo char(12)

);

insert intostudent_bak2_select * fromstudent;

4.2 更改已有数据

update set where ;

4.3 删除数据

delete from where ;

删除 student_bak2的所有信息

delete from  student_bak2;  -- delete 语句删除会记录日志 删完数据以后 自动增长依然继续递增

truncate table student_bak2; -- truncate 不会在日志中记录的   删完数据以后 自动增长回到初始值 1

删除

update student set age=null  where name="未成年";

mysql21_mysql2相关推荐

最新文章

  1. Swift 注释规范和文档注释
  2. Shell命令-文件及目录操作之mkdir、mv
  3. 软件测试学习笔记:找代码中的fault,并设计特定的测试用例
  4. 6-spark学习笔记-spark core 数据与存储
  5. C++ string线程不安全
  6. [architecture]-ARMV7架构下Linux Kernel的Userspace进程切换时保存和恢复哪些寄存器
  7. ajax 下拉框 保留,Ajax生成select级联下拉框和清空多余选项
  8. c3p0、dbcp、druid三大连接池对比
  9. mac Git本地服务器配置
  10. 【linux】linux shell if 多条件 并行 字符串判断
  11. android 两列菜单,【Android】实战开发之ListView同一个item显示2列的实现方法(仿2列商品列表)...
  12. ACM__搜素之BFS与DFS
  13. 计算机课英语怎么读音标,【英语课堂】48个国际音标表及发音详解图
  14. 译(自编码器) Hinton2006---Reducing the Dimensionality of Data with Neural Networks
  15. poj 1745 divisible
  16. Teams Tab App 分析
  17. 如何做服务器安全维护,网站安全维护怎么做好
  18. 小菊花宝宝课堂开课了,教你认识各种形状——用脚本绘图
  19. 20系列和30系列显卡下的tensorflow-gpu环境配置,避坑指南
  20. java安装_Java编程语言的历史和未来

热门文章

  1. 【飞秋】JS 实现完美include
  2. 千万不要成为这样一个程序员!
  3. 经典面试题(34):以下代码将输出的结果是什么?
  4. android自定义dialog 例子,android dialog自定义实例详解
  5. SWEET HOME!田志喜研究员:给中国大豆“嵌入”高产基因
  6. simplifyEnrichment,一个对GO富集结果进行聚类和可视化的工具
  7. 挖掘PubMed数据库,获取报道的或推测新的基因调控关系
  8. 39个转录组分析工具,120种组合评估
  9. 如何解决pd16虚拟机 mac 联网失败问题?pd16 m1芯片版网络初始化失败问题!
  10. NOI图论算法:网络流