mysql二--增删改查

  我们学的mysql,其实是学的sql语言,sql语言全称:结构化查询语言

一、sql语言分类

  sql语言分类:

    DQL:数据查询语言 (select)

    DML:数据操作语言(delete、update、insert)

    DDL:数据定义语言(drop、create等)

    TPL:事物处理语言(保证被DML影响的行能够及时得到更新)

  详细介绍:

    使用的数据库模型:

     

    添加的数据:

     

    1、DQL:数据查询语言

       select * from student;   //查询全部

       select * from student where id=2;  //根据条件查询,where后写查询条件

    2、DML:数据操作语言

       ①添加 insert

        格式:insert into 表名 [(字段1,字段2.....)]  values (值1,值2.....),(值1,值2.....);

         第一种:insert into student(name,address)  values  ("陈平安","浩然天下"),("阿良","浩然天下");

         第二种:insert into student values(null,"陈平安","浩然天下"),(null,"阿良","浩然天下");

        不同之处:第一种声明了表中的字段,这样添加行数据时,不用每个字段都写,只写前边声明的就行。第二种没有声明字             段,所以每个字段都要写对应的值,id在创建表时设定为主键自增,就设为null就好,后边在介绍。

         ②更新  update

        格式:update 表名 set 字段1=值1,字段2=值2  where  字段=值;

          uddate student set name="猛" where name="阿良";

          ③删除 delete

        格式:delete from student where 字段=值;

          delete from student where id=4;

二、数据完整性

  数据完整性包括:实体完整性、域完整性、引用完整性、自定义完整性(mysql中没有定义这个)

  1、实体完整性

    作用:保证数据表中行数据的唯一性

    实现:给数据库表添加一个主键。

    要求:主键要求不能为null,不能重复

    主键是什么?

      主键是表中的一列,其值能保证行数据的唯一性。在创建表或更改表时,可以通过primary key来创建主键。一个表中只能使      用primary key一次,并且使用primary key修饰的列不接受空值。

    主键的作用:

      ①确保实体的数据完整性

      ②加快了数据的的操作速度

      ③当向表中添加新数据时,数据库会对比添加的主键值和表中存在的主键值是否重复

      ④表中数据按照主键值来确定显示顺序,如果没有主键值,则按添加的先后顺序来确定显示顺序。

    主键的特点:

      ①不为null

      ②不重复

      ③无意义

    自增控制  :auto_increment            不为空:not null        不重复:unique

   问:既然primary key 和unique not null组合都是不为空,不重复,那是否可以相互替换。

    答:不能。使用primary key后,会生成索引文件,提高数据库表的操作速度。而unique not null不行。

      注:不是因为有索引文件,操作数据库表的速度变快,而是因为索引算法。数字使用b+tree,汉字使用hash值

   创建表中声明主键:

      create table student(id int(20) primary key auto_increment);

  2、域完整性

    作用:保证输入的值在设定的范围内,比如性别为男女,年龄设置为不超过40岁。

      设置默认值: default

      非空约束:not null

    创建表中给列值设置默认值,并不为空:

      create table student(id int(20) primary key auto_increment,sex varchar(20) not null default "男");

   3、引用完整性  外键

    foreign key(外键)用来保证表与表之间数据的完整性,是建立在主键基础之上的。体现了表与表之间的关联性。要现有主键数据,  才能添加外键数据。外键要和主键数据类型保持一致。

    如果一个实体中的某个字段指向另一个实体的主键,那个字段就叫外键。

    如果一个表中的某个列指向另一个表中的主键,这个字段就叫外键列。

 

    被指向的实体的叫做父实体(父表),或主实体(主表)。

    负责指向的实体叫做子实体(子表),或从实体(从表)。

 

    mysql系统禁止用户做以下操作:

      ①在主表中没有关联的记录时,往从表中添加数据。

      ②将主表中的值导致从表中的值孤立

         ③将主表中的记录删除,但是从表中仍有与该记录相关联的数据。

    实例表:

 

posted @ 2020-12-22 19:35  橙汁one  阅读(88)  评论(0编辑  收藏  举报