中对表的增删改以及单表的查询"/>
数据库中对表的增删改以及单表的查询
数据库中对数据的操作(CRUD)
1.CREATE
INSERT INTO table_name(field1,field2,... ...fieldn)VALUES(value1,value2,... ...valuen)
其中field表示表中的字段名,value是插入的数值,字符串类型要用英文单引号引起来
INSERT INTO table_name1(field11,field12,field13,... ...field1n)SELECT(field21,field22,field23,... ...field2n)FROM table_name2WHERE... ...
上述语句中table_name1 代表要插入数值的表,field11… …表示要插入的字段,table_name2 表示插入的数值从哪个表来。 参数field21… …代表从table_name查询数值的字段。
2.UPDATE
1.更新特定的数据记录
UPDATE table_name SET field1=value1,field2=value2... ...WHERE 条件
eg:UPDATE student SET age=21 WHERE id =2
将student表中的id为2 的数据中字段age更新为21
2.更新所有的数据记录
将WHERE的条件改成满足表中所有数据的条件。
3.DELETE
DELETE FROM table_name WHERE 条件(id=2,id<10)
READ查询,单表数据记录查询
SELECT name,age,selary......FROM table_name
SELECT * FROM table_name 查询所有字段数据
1.避免重复查询DISTINCT
SELECT DISTINCT 字段1,字段2... ... FROM table _nameSELECT DISTINCT jobFROM employee
2.数学四则运算查询
SELECT name,salary*12 FROM employee AS ‘年薪’
3.条件数据查询
1.单条件数据查询
SELECT name FROM employee WHERE id=1
2.多条件数据查询
SELECT nameFROM employeeWHERE id>5&&id<10
SELECT nameFROM employeeWHERE id>5& AND id<10
SELECT name,salaryFROM employeeWHERE salary BETWEEN 5000 AND 12000;//不在条件范围内
SELECT name,salaryFROM employeeWHERE salary NOT BETWEEN 5000 AND 12000;
带IN关键字的查询
SELECT field1, field2... ...FROM table_nameWHERE field IN(value1,value2... ...)//等价于
SELECT field1, field2... ...FROM table_nameWHERE field=value1 OR value2 OR ... ...//不再集合value中的数据
SELECT field1, field2... ...FROM table_nameWHERE field NOT IN(value1,value2... ...)
同过关键字IN 来判断fied的值是否存在集合(value1,value2… …)中
注意:如果用IN关键字查询的数据中存在NULL,不会对查询有影响,如果用NOT IN 查询时数据中存在NULL 则不会有任何查询结果
模糊查询LIKE
SELECT nameFROM student//查询姓孟的WHERE name LIKE '孟%'//查询包含旭字的name LIKE '%旭%'//查询第二个字是旭的name LIKE '_旭%'
单字段排序
升序
SELECR *FROM employee ORDER BY selary ASC;
//等价于,因为默认是升序
SELECR *FROM employee ORDER BY selary ;
降序
SELECR *FROM employee ORDER BY selary DESC;
MySQL中如果数据为NULL 排序为最小值
多字段排序
SELECR *FROM employee ORDER BY selary ASC,id DESC;
ASC可以省略
分页查询LIMIT
SELECR *FROM employee ORDER BY selary ASCLIMIT 4,5;
limit n-1,m:从第n页开始,每页显示5条数据
3.聚合函数
-
COUNT()统计个数
SELECT COUNT(id)FROM student;
-
AVG()计算平均值
SELECT AVG(selary)FROM employee;
-
SUM()求和
SLEECT SUM(selary)FROM employee
-
MAX(),MIN()最大值最小
注意:聚合函数中,如果操作的数据没有值,则COUNT()显示0其他显示NULL
4.GROUP BY分组查询
SELECT *FROM studentGTOUP BY address;
5.HAVING分组以后的条件
SELECT *FROM employeeGROUP BY deptomHAVING AVG(selary)<3888having 后面可以跟聚合函数 where不可以
·
更多推荐
数据库中对表的增删改以及单表的查询
发布评论