一、增
一般使用是这样的:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
例:
'''
_activity_type: 你要把数据插入的表名称
_type_name, _dept_code,_tenant_id:这是表中的列名 (需要插入哪一列,放哪列的名称)
123, 123,330106:这是插入的值
# 注:值和列是对应,如下方:_type_name = 123
'''
INSERT INTO _activity_type(_type_name, _dept_code,_tenant_id) VALUES (123, 456,330106)
二、删
正常情况,很少用删除,但是如果用的话,可要小心,别搞个,删库跑路就行…
删除:delete
删除的时候,记得尾部必须加where条件,如果你就想删库,那无所谓了
'''
_applet_user:代表删除内容的库名
_user_name:代表列名
"测试7":删除条件 (即:列内某个值)
'''
# 使用like 进行模糊定位,可以删除所有匹配的
DELETE FROM _applet_user WHERE _user_name LIKE "测试7%" ;
# 删除指定的某一条数据
DELETE FROM _applet_user WHERE _user_name = "测试7" ;
三、改
更新(改):update
语法:UPDATE 表名称 SET 列名称 = 新值 WHERE ID = 某值
'''
_applet_user:表名称(即:需要修改内容的表)
_user_name:值 (即:第一个是你想更改成什么样;第二个是本来什么样)
'''
UPDATE _applet_user SET _user_name = 'Fred' WHERE _user_name = 'Wilson'
四、查
基本都是这个用的多,其他都算辅助,这个算主力!
1、单表查询
# * 代表所有,可以查询所有的,显示表中所有数据
SELECT * FROM _activity_centre
# where 限制条件,查询出的内容只能是name等于Wilson
SELECT * FROM _activity_centre where _user_name = 'Wilson'
# like 模糊查询,显示所有_user_name 包含有 W 的数据
SELECT * FROM _activity_centre where _user_name like 'W%'
# order by asc 正序排列
SELECT * FROM _activity_centre where _user_name like 'W%' order by _create_time asc
# order by desc 倒序排列
SELECT * FROM _activity_centre where _user_name like 'W%' order by _create_time desc
# GROUP BY 分组查询(根据你提供的条件,把相同的数据分到一起,一般统计的时候用到)
SELECT * FROM _activity_centre where _user_name like 'W%' GROUP BY _create_time
# count() 统计,统计分好组的内容,每个有多少数量
SELECT count(*) FROM _activity_centre where _user_name like 'W%' GROUP BY _create_time
# max() 查询最大值
SELECT max(_user_age) FROM _activity_centre
# min() 查询最小值
SELECT min(_user_age) FROM _activity_centre
# limit 设定返回内容的数量 (这里设定只返回10条数据)
SELECT * FROM _activity_centre where _user_age like "'2%'" desc limit 10
# as 别名 打印出来名称显示就是 “最小”
SELECT min(_user_age) as 最小 FROM _activity_centre
# 简写 (记得中间有空格,那样默认后面就是别名)
SELECT min(_user_age) 最小 FROM _activity_centre
2、多表联查
# join on 联查
# _activity_centre :表1
# _activity_type :表2
# a._activity_type_id = b.id :表与表的关联(即:找到表2与表1关联的一个值)
SELECT
a._activity_name 名称,
b._type_name 类型,
a._create_time 创建时间
FROM
_activity_centre a
INNER JOIN _activity_type b ON a._activity_type_id = b.id
ORDER BY
a.zjy_create_time DESC LIMIT 20
# left join on 左链接
# 表b 依附 表a 进行查询 主查是表a
SELECT
a._activity_name 名称,
b._type_name 类型,
a._create_time 创建时间
FROM
_activity_centre a
LEFT JOIN _activity_type b ON a._activity_type_id = b.id
ORDER BY
a.zjy_create_time DESC LIMIT 20
# RIGHT JOIN on 右链接
# 表a 依附 表b 进行查询 主查是表b
SELECT
a._activity_name 名称,
b._type_name 类型,
a._create_time 创建时间
FROM
_activity_centre a
RIGHT JOIN _activity_type b ON a._activity_type_id = b.id
ORDER BY
a.zjy_create_time DESC LIMIT 20
# 嵌套查询
# sql是先执行()内的
# 如果在表与表之间找到对应条件,可以一直嵌套下去
# ()查询出下个嵌套内对应的条件,然后进行链接
SELECT
_activity_name,
_create_time
FROM
_activity_centre
WHERE
_activity_type_id IN ( SELECT id FROM _activity_type )
# 还有一种查询:把你查询出的表,临时变成一个全新的表,来进行链接使用
# ():括号内是查询一个表所得的内容,然后,括起来后,可以join 把他变成一个临时的全新表
SELECT
a.id,
a._dept_code,
a._dept_name,
b.sl
FROM
_manage_deptment a
LEFT JOIN
(
SELECT _dept_id, count(id) sl FROM _volunteer_troops WHERE _deleted = "0" and _troops_type = "1" GROUP BY
_dept_id
) b
on a.id = b._dept_id
WHERE
a._deleted = "0"
AND a._dept_code LIKE "6%"
好了,今天为大家分享这么多!!有帮助、有喜欢的请点赞…谢谢!