mysql增数据语句_Mysql 数据增删改查语句
插入數(shù)據(jù) insert
#1. 插入完整數(shù)據(jù)(順序插入)#語法一:
insert into 表名(字段1,字段2,字段3…字段n) values (值1,值2,值3…值n);#語法二:
insert into 表名 values (值1,值2,值3…值n);#2. 指定字段插入數(shù)據(jù)#語法:
insert into 表名(字段1,字段2,字段3…) values (值1,值2,值3…);#3. 插入多條記錄#語法:
insert into 表名 values
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);#4. 插入查詢結(jié)果#語法:
insert into 表名(字段1,字段2,字段3…字段n) select (字段1,字段2,字段3…字段n) from 表2 where …;
View Code
刪除數(shù)據(jù) delete
#語法:
DELETE FROM 表名 WHERE CONITION;#示例:
DELETE FROM mysql.user WHERE password=’’;
View Code
更新數(shù)據(jù) update
#語法:
UPDATE 表名 SET 字段1=值1, 字段2=值2,.. WHERE CONDITION;#示例:
update 表 set 字段名=值 where 條件
update 表 set age= 84 where name =alex;
update 表 set age= null where name =alex;
update 表 set age= 84, sex = 'female' where id = 1;
View Code
單表查詢
#語法
select distinct 要查的字段 from表
where 條件
group by 分組
having 過濾
order by 排序
limit 取前n個(gè)#執(zhí)行順序
from --> where --> group by --> having --> select --> distinct --> order by -->limit1.找到表:from
2.拿著where指定的約束條件,去文件/表中取出一條條記錄3.將取出的一條條記錄進(jìn)行分組group by,如果沒有g(shù)roup by,則整體作為一組4.將分組的結(jié)果進(jìn)行having過濾5.執(zhí)行 select6.去重 distinct7.將結(jié)果按條件排序:order by8.限制結(jié)果的顯示條數(shù)#二 \ 簡單查詢#查詢所有的字段\單個(gè)字段\給字段重命名\給字段去重
select * from表;
select 字段名1,字段名2from表;
select distinct 字段名1from表;
select 字段名 as 新的臨時(shí)名字from表;#查詢數(shù)據(jù)的四則運(yùn)算
select emp_name,salary*12 from表;
select emp_name,salary*12 as annua_salary fromemployee;#定義顯示格式 concat/concat_ws
select emp_name,salary fromemployee;#姓名 : alex, 薪資:100000
select concat('姓名 :',emp_name,', 薪資 :',salary) fromemployee;
select concat('姓名 :',emp_name),concat('薪資 :',salary) fromemployee;#姓名 :薪資#alex : 100000
select concat_ws(':',emp_name,salary) fromemployee;
select concat_ws(':',emp_name,salary) as annual_salary fromemployee;#case語句
SELECT(#if條件判斷
CASE #一個(gè)if條件判斷句的開始
WHEN emp_name = 'jingliyang' #if
THEN emp_name #then if條件成立之后做的事兒
WHEN emp_name = 'alex' ## elif 另一個(gè)條件
THEN CONCAT(emp_name,'_BIGSB') # ELSE #else
concat(emp_name, 'SB') #沒有then 直接就是上述條件不滿足都走這個(gè)分支
END #end 就表示這個(gè)case語句結(jié)束了
) as new_name
FROM employee;
View Code
where 語句中可以使用:
1. 比較運(yùn)算符:> < >= <= <> !=
2. between 80 and 100
3. in(80,90,100)
4. like 'egon%'
pattern可以是%或_,
%表示任意多字符
_表示一個(gè)字符
5. 邏輯運(yùn)算符:在多個(gè)條件直接可以使用邏輯運(yùn)算符 and or not
# 1:單條件查詢
SELECT emp_name FROM employee WHERE post='sale';
# 2:多條件查詢
SELECT emp_name,salary FROM employee WHERE post='teacher' AND salary>10000;
# 3:關(guān)鍵字 BETWEEN AND
SELECT emp_name,salary FROM employee WHERE salary BETWEEN 10000 AND 20000;
SELECT emp_name,salary FROM employee WHERE salary NOT BETWEEN 10000 AND 20000;
# 4:關(guān)鍵字IS NULL(判斷某個(gè)字段是否為NULL不能用等號(hào),需要用IS)
SELECT emp_name,post_comment FROM employee WHERE post_comment IS NULL;
SELECT emp_name,post_comment FROM employee WHERE post_comment IS NOT NULL;
SELECT emp_name,post_comment FROM employee WHERE post_comment=''; # 注意''是空字符串,不是null
# 5:關(guān)鍵字IN集合查詢
SELECT emp_name,salary FROM employee WHERE salary=3000 OR salary=3500 OR salary=4000 OR salary=9000 ;
SELECT emp_name,salary FROM employee WHERE salary IN (3000,3500,4000,9000) ;
SELECT emp_name,salary FROM employee WHERE salary NOT IN (3000,3500,4000,9000) ;
# 6:關(guān)鍵字LIKE模糊查詢
# 通配符’%’
SELECT * FROM employee WHERE emp_name LIKE 'eg%';
# 通配符’_’
SELECT * FROM employee WHERE emp_name LIKE 'al__';
group by:
#單獨(dú)使用GROUP BY關(guān)鍵字分組
SELECT post FROM employee GROUP BY post;#注意:我們按照post字段分組,那么select查詢的字段只能是post,想要獲取組內(nèi)的其他相關(guān)信息,需要借助函數(shù)
#GROUP BY關(guān)鍵字和GROUP_CONCAT()函數(shù)一起使用
SELECT post,GROUP_CONCAT(emp_name) FROM employee GROUP BY post; #按照崗位分組,并查看組內(nèi)成員名
SELECT post,GROUP_CONCAT(emp_name) as emp_members FROM employee GROUP BY post;#GROUP BY與聚合函數(shù)一起使用
select post,count(id) as count from employee group by post; #按照崗位分組,并查看每個(gè)組有多少人
#常用聚合函數(shù)
SELECT COUNT(*) FROM employee; #計(jì)數(shù)
SELECT MAX(salary) FROM employee; #最大
SELECT MIN(salary) FROM employee; #最小
SELECT AVG(salary) FROM employee; #平均
SELECT SUM(salary) FROM employee WHERE depart_id=3; #求和
View Code
HAVING過濾:
HAVING與WHERE不一樣的地方在于!!!!!!
#!!!執(zhí)行優(yōu)先級(jí)從高到低:where > group by > having
#1. Where 發(fā)生在分組group by之前,因而Where中可以有任意字段,但是絕對(duì)不能使用聚合函數(shù)。
#2. Having發(fā)生在分組group by之后,因而Having中可以使用分組的字段,無法直接取到其他字段,可以使用聚合函數(shù)
使用正則表達(dá)式查詢:
SELECT * FROM employee WHERE emp_name REGEXP '^ale';
SELECT * FROM employee WHERE emp_name REGEXP 'on$';
SELECT * FROM employee WHERE emp_name REGEXP 'm{2}';
總結(jié)
以上是生活随笔為你收集整理的mysql增数据语句_Mysql 数据增删改查语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: worklist
- 下一篇: MySQL查询结果导出到文件