SELECT 语句的
执行过程:
from clause ---> where clause ---> select --->group by ---> having--->order by ---> limit
写法顺序:
select col1,... from clause ---> where clause ---> group by ---> having---> order by ---> limit
目录
一、向数据库中插入数据
Table表 t_user
用户ID(主键) | 姓名 | 年龄 | 手机号 |
1001 | 胡一天 | 21 | 18736547934 |
1002 | 陈钰琪 | 23 | 18745123697 |
1、全表插入
语法:insert into 表名 values(字段值1,字段值2......);
注意:表里面有多个字段,values就要有多少个值并且顺序、个数、类型必须一致。
举例:insert into t_user values(1003 , '一陌千尘' , 18 , '18756489759' );
2、选择列插入
应用:注册
语法:insert into 表名(字段名1,字段名2......) values(字段值1,字段值2......);
注意:字段值和字段名的顺序、个数、类型必须一致
举例:insert into t_user(uid,uname) values(1004 , '毛不易');
二、更新数据库中的数据
应用:修改个人信息
语法:update 表名 set 字段名1 = 字段值1 , 字段名1 = 字段值1.... where 条件;
举例:修改用户id为1001的手机号 update t_user set phone='1111111' where uid = 1001;
三、删除数据库中的数据
语法:delete from 表名 where 条件;
举例:delete from t_user where uid = 1001;
注意:drop: 删除表 delete:删除表中的数据
根据业务判断是否为物理删除,物理删除才使用delete;逻辑删除其实只是修改字段状态
四、简单的查询语句
1、查询所有列
语法:select * from 表名;
举例:查询所有的用户列表 select * from t_user;
2、查询指定列
语法:select col1,col2 from 表名;
举例:查询所有用户的姓名和手机号
select uname, phone from t_user;
3、查询指定行(过滤查询)
语法:select * from 表名 where 条件1 and/or 条件2 ....;
(1)精确查询
条件: colname=值
例:查询陈钰琪的个人信息
select * from t_user where uname = '陈钰琪';
(2)模糊查询
条件:colname like 操作符和值
注意:%代码一个或者多个字符,_代表一个字符
例:查询所有姓 陈 的用户信息
select * from t_user where uname like '陈%';
(3)将查询结果按照指定的字段排序
语法:order by 排序方式 ,两个属性值:asc---升序 desc---降序
(4)连接查询
应用:需要展示多张表数据
语法:
内连接--只显示符合条件的数据,inner join...on为连接条件 等价于 c.userid = d.userid
左连接--左表为主,左表的数据全部展示,右表为辅,右表满足条件的展示,不满足条件的补空值。left join...on 连接条件
右连接--右表为主,右表的数据全部展示,左表为辅,左表满足条件的展示,不满足条件的补空值。right join...on 连接条件
-- 多表联查,满足条件的数据展示 select * from t_memory m ,t_memory_type mt where m.tid = mt.tid; -- 内连接,满足条件的数据展示 select * from t_memory m inner join t_memory_type mt on m.tid = mt.tid; -- 左连接,左表为主,左表的信息全部显示,右表为辅 select * from t_memory m left join t_memory_type mt on m.tid = mt.tid; -- 右连接 --- 右表为主,右表数据全部展示,左表为辅 select * from t_memory m right join t_memory_type mt on m.tid = mt.tid; |
(5)MySQL分页
应用:分页
语法:select * from 表名 limit 起始条数,每页展示的条数;
例:select * from t_user limit 0,2;(从0个数据开始,每页显示两条数据)