zoukankan      html  css  js  c++  java
  • mysql2

    第三章   保证数据完整性

    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 id id 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 into student_bak2_select * from student; 

    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="未成年"; 
  • 相关阅读:
    安全相关小知识
    http小知识
    跨域资源共享 CORS
    Django——CRSF攻击及处理
    Django——XSS攻击及处理
    Django——模版层(前后端交互编码方式,django模板使用的两种方式,模板语法之变量&深度查询句点符,模板渲染成标签还是原字符串,过滤器+自定义,标签+自定义)
    Django——Postman介绍及安装, 测试项目
    Django——视图层(请求&响应对象,cbv和fbv,文件上传)
    一个http请求从浏览器发出去,经历的过程(即上网流程)
    Django——有名分组 无名分组,反向解析,名称空间
  • 原文地址:https://www.cnblogs.com/alloevil/p/5939323.html
Copyright © 2011-2022 走看看