视频,ppt,示例文件下载地址:https://s.yunio.com/2Nlwqu [密码:sdtclass]
上一节说了mysql数据库的基本认识,这一节来讲讲mysql的一些基本语法和例子
目录:
1、SELECT 查询语句和条件语句
2、排序,分组,指针查询,计算
3、Insert 插入语句
4、Update 更新语句
5、Delete 删除语句
SELECT 查询语句和条件语句:
SELECT 查询字段 FROM 表明 WHERE 条件
查询字段:可以使用通配符 * , 字段名 ,字段别名
表名:数据库表名 , 表名
常用条件:
= 代表 等于
<> 代表 不等于
in 代表 包含
not in 代表 不包含
like 代表 区配
BETWEEN 在范围
NOT BETWEEN 不在范围
< > 大于小于
条件运算 and ,or ,( )
OK,下面来举例子说明下
- SELECT * FROM `test` WHERE 1;
- SELECT id,uid FROM `test` WHERE 1;
- SELECT id,uid FROM cs.`test` WHERE 1;
- SELECT regdate as reg FROM `test` WHERE 1;
第一个是默认的查询test表中的所有字段,其实你打开数据库进入某一个表的架构就会看到这个sql语句了
第二个是查询test表中的id和uid字段
第三个是当有多个数据库时,可以指定数据库查询字段,指定了cs数据库中,test表中的id和uid字段
第四个是查询的时候,给regdate字段使用别名reg
- SELECT * FROM `test` WHERE id=1;
- SELECT * FROM `test` WHERE id<>1;
- SELECT * FROM `test` WHERE id in (1,3);
- SELECT * FROM `test` WHERE id not in (1,3);
- SELECT * FROM `test` WHERE `uid` like "%张%";
- SELECT * FROM `test` WHERE id between 1 and 3;
- SELECT * FROM `test` WHERE id not between 1 and 3;
- SELECT * FROM `test` WHERE id>1;
- SELECT * FROM `test` WHERE id<3;
第一个是查询test数据表中,id的值等于1的对应数据
第二个是查询test数据表中,id的值不等于1的对应数据
第三个是查询test数据表中,id的值包含1和3的对应数据
第四个是查询test数据表中,id的值除了1和3之外的对应数据
第五个是查询test数据表中,uid的值包含张的数据,百分号是区配符,前后区配,也就是前面和后面可以带任意字
第六个是查询test数据表中,id的值的范围是1到3的对应数据
第七个是查询test数据表中,id的值的范围是1到3之外的其他对应数据
第八个第九个分别是查询test数据表中id大于1的数据,和id小于3的数据
- SELECT * FROM `test` WHERE `regdate`="2008-07-02" and `remark`="学生";
- SELECT * FROM `test` WHERE id=2 or id=4;
第一个是搜索注册日期在2008年7月2日的并且职称是学生的数据
第二个是搜索id等于3或者id=4的数据
上面的语法和举例和说明都列出来了,剩下的是大家自己实践操作,操作下就明白了,网盘有SQL文件
排序,分组,指针查询:
分组语句 group by 字段
排序语句 order by 字段 ASC / DESC
指针查询 limit 初始值,结束值
- SELECT * FROM `test` group by `remark`;
- SELECT * FROM `test` order by `regdate` ASC;
- SELECT * FROM `test` order by `regdate`;
- SELECT * FROM `test` order by `regdate` DESC;
- SELECT * FROM `test` order by `regdate` DESC, id ASC;
- SELECT * FROM `test` limit 1,4 ;
- SELECT * FROM `test` limit 4 ;
第一句是:分组统计看看有多少种职称,查询remark对应值有哪些不同
第二句是:根据注册日期排序,而不是原来默认的ID排序
第三局和第二句一样,不写ASC也是顺序排序
第四局是:根据注册日期倒序排序
第五句是:注册日期倒序排序,ID正序排序
第六句是:id的指针从1到4,但是忽略第一个值,也就是显示2-4
第七句是:id的指针从0到4,但是忽略第一个值,也就是显示1-4
OK,还是要大家去数据库操作才会更明白,到网盘下数据操作!
如果三个语句要一起使用的话,顺序是group by 在其他两个前面,order by在limit前面,limit在有前面两个条件的时候,放最后面,在使用者三个的时候,不需要WHERE
计算:
COUNT(*) 统计函数
MAX(*) 最大值函数
MIN (*) 最小值函数
AVG(*) 平均值函数
SUM(*) 累计值函数(∑)
- SELECT count(*) FROM `test` WHERE 1 ;
- SELECT max(id) FROM `test` WHERE 1 ;
- SELECT min(id) FROM `test` WHERE 1 ;
- SELECT avg(id) FROM `test` WHERE 1 ;
- SELECT sum(id) FROM `test` WHERE 1 ;
第一个是:统计值,统计表中有多少字段
第二个是:最大值,查询id对应的最大数值
第三个是:最小值,查询id对应的最小数值
第四个是:平均值,查询id对应的值平均值,由于是4个,所以是2.5000
第五个是:累计值,查询id对应值的累计值,就是累加起来的值,1+2+3+4=10
计算基本讲到这里,大家多试试就懂了
Insert 插入语句
有两种,一种是:insert into 表名 (字段…,…) values(值…,…)
另一种是:insert into 表名 values(值…,…)
PS:建议用第一种,避免忘了哪个字段需要对应值而导致出什么问题
注意:插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象
- insert into test (`id`,`uid`,`regdate`,`remark`) values ('','sd',now(),'工人')
- insert into test values ('','sd',now(),'工人')
在test中,插入一个数据,id不用填,因为默认自动递增排序,uid填写名字,时间可以使用时间函数来代表现在的时间!职称写职工人或者学生
update更新语句
格式:UPDATE 表名 SET 字段 = 值 WHERE 条件 limit 【limit可忽略】
可以使用上面的查询语句中使用到的条件,如 = <> in和not in等等
- update test set remark='学生' where uid='sd'
更新test表中,uid字段对应值是sd的表,把职称改为学生
delete删除语句
不建议使用,格式:DELETE FROM 表名 WHERE 条件 limit
同样和更新语句一样,可以使用查询语句中的条件那些
- delete from test where id=2
删除test表中,id的值是2的那个字段
OK啦,基本的都讲了,其实还是很简单的,记住一些单词就可以了,记不住抄下来,做个笔记,要用的时候看看,用久了就记住了!
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助