1

1436141288

V1

2022/03/28阅读:26主题:自定义主题1

sql day2

DML

DML是啥?

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行操作

  • 添加数据(INSERT)
  • 修改数据(UPDATE)
  • 删除数据(DELETE)

添加数据(INSERT)

给指定的字段添加数据

INSERT INTO 表名 (字段名1, 字段名2, ...)  VALUES (值1, 值2, ...);
  1. 例子 目前我有一张表,表名是employee字段为id, workno, name, gender,age,idcard,entrydate

我要给他添加一条数据

insert into employee(id,workno,name,gender,age,idcard,entrydate) 
values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');

values中所对应的值为括号中的字段名。

  1. 插入完成后,可以使用图形化界面查看,或者使用sql语句
select * from employee;

3.在添加的时候要注意添加的值是否满足字段的类型,比如类型是tinyint,但是你添加了 -1这个值进去,他就会报错,因为tinnyint的取值只在0-255之间。

给全部字段添加数据

INSERT INTO 表名 VALUES (值1, 值2, ...);

这个时候就需要按照字段的先后顺序来顺着吧值写进去

批量添加数据

INSERT INTO 表名 (字段名1, 字段名2, ...)  VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

或者

INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;
  • 浅浅的总结一下
    • 插入有给指定字段添加数据,给全部字段添加数据和批量添加数据
    • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的
    • 字符串和日期型数据应该包含在引号中。
    • 插入的数据大小,应该在字段的规定范围内。

修改数据(UPDATE)

修改数据的具体语法为:

UPDATE   表名   SET   字段名1 = 值1 , 字段名2 = 值2 , .... [WHERE  条件 ] ;

其中,WHERE条件可以指定修改的具体对象

例如:

  1. 修改id为1的数据,将name修改为llssyy
update employee set name = 'llssyy' where id = 1;
  1. 修改所有人的年龄为男
update employee set gender = '男' ;

注意

  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

删除数据(DELETE)

终于,删除是delete,而不是drop了(开个小玩笑) 删除数据的具体语法为:

DELETE  FROM  表名  [ WHERE  条件 ] ;

WHERE同样可有可无 例子:

  1. 删除gender为女的员工
delete from employee where gender = '女';
  1. 删除所有员工
delete from employee;

浅浅的注意一下:

  • DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
  • DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。

DQL

DQL又是个啥

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

查询关键字: SELECT

当然,查询可就没前面的那么简单啦 基本语法如下:

SELECT
    字段列表
FROM
    表名列表
WHERE
    条件列表
GROUP  BY
    分组字段列表
HAVING
    分组后条件列表
ORDER BY
    排序字段列表
LIMIT
    分页参数

基本上来说,可以分为这几块

  • 基本查询(无条件)
  • 条件查询(WHERE)
  • 聚合函数(count、max、min、avg、sum)
  • 分组查询(group by)
  • 排序查询(order by)
  • 分页查询(limit)

基本查询(无条件)

当要查询所有数据的时候

SELECT * FROM 表名;

这样他就会输出数据库中所有数据

当然你也可以指定字段查询

SELECT 字段1,字段2... FROM 表名;

字段设置别名

SELECT   字段1  [ AS  别名1 ] , 字段2  [ AS  别名2 ]   ...  FROM   表名;
SELECT   字段1  [ 别名1 ] , 字段2  [ 别名2 ]   ...  FROM   表名;

去除重复记录

SELECT  DISTINCT  字段列表  FROM   表名;

例子:

  1. 查询指定字段 name, workno, age并返回
select name,workno,age from 表名;
  1. 查询返回所有字段
select id ,... from 表名;
select * from emp;
  1. 查询所有员工的工作地址,起别名
select workaddress as '工作地址' from 表名;

as可以省略,但是建议还是不要省略了

至此,程序员一生要做的东西其实我们已经学到了。敢问哪个程序员一生不是在增删改查

分类:

后端

标签:

后端

作者介绍

1
1436141288
V1