• 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="未成年";
  • 相关阅读:
    ubuntu安装docker-compose
    docker-compose常用命令(持续更新...)
    docker运行jpress
    gcc -o选项:指定输出文件
    gcc -c:只编译不链接,仅生成目标文件
    WMWare下安装centOS7,并使用xshell进行连接记录.
    主线程和子线程多种情况小探讨
    Sleep的本质
    为什么要对多线程进行加锁操作呢
    list操作相关总结
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/4189605.html
Copyright © 2020-2023  润新知