数据操作语言DML——数据的增删改查

之前介绍了

  • 数据库基本常识的简介及mysql安装
  • 结构化查询语言sql
  • 数据库表介绍
  • 数据库的数据类型

接下来介绍以下对数据库中数据的操作语言DML,也就是对数据进行增删改查。

  • 插入数据一般命令为:insert into 表名 values (字段内容,也就是数据,用逗号进行分割);
    • 注意事项:
      • int宽度是显示宽度,如果超过以后,例如设置为int(6),但是插入长度超过6的内容,则也是可以的。mysql底层会自动增加
      • 时间方式多样’yyyy-mm-dd’,‘yyyy/mm/dd’,‘yyyy.mm.dd’,其中m和d的前面如果是0,可以省略。
      • 字符串不区分单引号和双引号。
      • 写入当前时间的函数:now(),sysdate()、current_date()
      • char和varchar是字符的个数,而不是字节的个数。可以使用binary和varbinary表示定长和不定长的字节个数。
      • 不是全字段插入则需要进行字段的指定,命令为:insert into 表明(字段名) values(字段内容);
    • 一条命令插入多条数据:insert into 表名 values (一组内容),(一组内容),…,(一组内容);
  • 修改数据一般命令为:update 表名 set 字段名=新的内容 where 条件;
    • 注意事项:
      • 如果不加条件,就是全表的这个字段都进行修改。
      • 表名、关键字名、字段名都是不区分大小写的
      • 默认情况下,内容也是不区分大小写的。例如修改班级为java01班的,那么JAVA01班的学生的信息也会被修改。
  • 删除数据一般命令为:delete from 表名 where 条件;
    • 注意事项:如果不加条件,就是全表删除。
    • 如果删除全表数据,则可以执行两种命令:delete from 表名;或者truncate table 表名;
      • 区别是delete是dml语句,而truncate是ddl语句。
      • delete是一条一条的删除数据,而truncate的操作是只保留了表结构,重新创建了这个表,所有的状态都相当于新表,例如主键递增。
      • truncate的效率较高。而delete是可以进行事务回滚的,而truncate是无法进行事务回滚的。
      • delete删除多少条数据,返回的就是“影响了多少行数据”,而truncate不管删除多少行数据,都返回“影响了0行数据”。
  • 查询数据一般命令为:select 查询的字段 from 表明 where 条件;
    • 注意事项:
      • 如果不加条件,就是查询全表内容。
      • 如果要查询所有的字段,则将查询的字段的地方改成*即可。

你可能感兴趣的:(mysql,mysql)