怎么把自己的网站放到百度搜索上,湖南网页制作公司,网站用什么系统,wordpress 页面 关闭评论目录
1.插入
1.1单行数据全列插入 1.2多行插入#xff0c;指定列插入
编辑2.查询
2.1全列查询
2.2指定列查询
3.3查询字段为表达式 2.4别名
编辑2.5去重
2.6排序 2.7条件查询
2.7.1基本查询:
2.7.2 AND 和OR
2.7.3范围查询 2.7.4模糊查询 2.7.5分页查询 limit …目录
1.插入
1.1单行数据全列插入 1.2多行插入指定列插入
编辑2.查询
2.1全列查询
2.2指定列查询
3.3查询字段为表达式 2.4别名
编辑2.5去重
2.6排序 2.7条件查询
2.7.1基本查询:
2.7.2 AND 和OR
2.7.3范围查询 2.7.4模糊查询 2.7.5分页查询 limit
3.修改
4.删除 1.插入
1.1单行数据全列插入
我们首先创建一张学生表来做为我们的例子
表里包含的元素有id学号姓名邮箱
然后我们进行全列插入
格式为 insert into student values(数据1,数据2,数据3) 1.2多行插入指定列插入
数据格式
Insert into stuent(列名列名列名values(数据数据数据数据数据数据
2.查询
先创建一个考试成绩表 create table exam_result(id int,name varchar(20),chinese decimal(3,1), - math decimal(3,1),english decimal(3,1)); 加入一些数据 INSERT INTO exam_result (id,name, chinese, math, english) VALUES (1,唐三藏, 67, 98, 56), (2,孙悟空, 87.5, 78, 77), (3,猪悟能, 88, 98.5, 90), (4,曹孟德, 82, 84, 67), (5,刘玄德, 55.5, 85, 45), (6,孙权, 70, 73, 78.5), (7,宋公明, 75, 65, 30); 2.1全列查询 通常情况下不建议使用select *查询会造成大量的性能资源使用。
1.查询的列越多意外着需进行传输的数据越大。
2.可能会影响索引的使用 select *from exam_resule; 2.2指定列查询
指定列的顺序不需要按照定义的时候的顺序
语法格是 select idnamechinese from exam_result; 3.3查询字段为表达式
表达式不包含字段 select idname10 from exam_result; 表达式包含一个字段 select id namechinese10 from exam_result; 表达式包含多个字段: select id,name,englishchinesemath from exam_result; 2.4别名 select id,name ,mathchinese english as 总分 from exam_result; 2.5去重
我们先查询一下math成绩 select math from exam_result; 可以看到98分重复了 我们使用 distnit关键字试试 select distinct math from exam_result; 2.6排序
order by 关键字
desc为降序 默认为升序 降序 desc关键字写到最后面 可以对多个字段排序排序的优先级随书写顺序 2.7条件查询
运算符说明, , , 大于大于等于小于小于等于等于NULL 不安全例如 NULL NULL 的结果是 NULL等于NULL 安全例如 NULL NULL 的结果是 TRUE(1)!, 不等于BETWEEN a0 AND a1范围匹配[a0, a1]如果 a0 value a1返回 TRUE(1)IN (option, ...)如果是 option 中的任意一个返回 TRUE(1)IS NULL是 NULLIS NOT NULL不是 NULLLIKE模糊匹配。% 表示任意多个包括 0 个任意字符_ 表示任意一个字 符
逻辑运算符
运算符说明AND多个条件必须都为 TRUE(1)结果才是 TRUE(1)OR任意一个条件为 TRUE(1), 结果为 TRUE(1)NOT条件为 TRUE(1)结果为 FALSE(0)
注 1. WHERE条件可以使用表达式但不能使用别名。 2. AND的优先级高于OR在同时使用时需要使用小括号()包裹优先执行的部分 例子:
2.7.1基本查询:
查询英语成绩不及格的同学 select name,english from exam_result where english 60; 查询语文成绩好于英语成绩的同学: select name,chinese,english from exam_result where chineseenglish; 查询总分在200以下的学生: select name, mathchineseenglish as 总分 from exam_result where mathchineseenglish 200; 2.7.2 AND 和OR
查询语文成绩大于80,并且英语成绩大于80分的同学 select name,english,chinese from exam_result where chinese80 and english 80; 猪悟能同学好厉害hhhh
查询语文成绩大于80 或者英语成绩大于80的同学 select name , chinese ,english from exam_resut where chinese80 or english 80; 观察一下and和or的优先级(一般情况下如果想要哪个优先级高就用小括号给它加起来); 首先我们先查找全部的同学成绩 select *from exam_result; select *from exam_result where chinese80 or math70 and english70; 我们给前面的or 打上括号看看 select * from exam_result where (chinese80 or math70) and english 70; 可以看到 and 的优先级大于or
2.7.3范围查询
between ...and...
查询语文成绩在80~90之间的同学 select name,chinese from exam_result where chinese between 80 and 90; 使用 and也可以实现 select name,chinese from exam_result where chinese80 and chinese90; 2.7.4模糊查询
%匹配多个字符 select name from exam_result where name like 孙%; _ 匹配一个字符 select name from exam_result where name like 孙_; 2.7.5分页查询 limit
起始下标为0 从 0 开始筛选 n 条结果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n; -- 从 s 开始筛选 n 条结果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n; -- 从 s 开始筛选 n 条结果比第二种用法更明确建议使用 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s 案例 :按 id 进行分页每页 3 条记录分别显示 第 1、2、3 页 select id ,name from exam_result order by id limit 3 offset 0; select id ,name from exam_result order by id limit 3 offset 3; select id ,name from exam_result order by id limit 3 offset 6; 3.修改 update from table_name set columeexpr,[colume expr] [where...] [order by ...] [limit...] 把孙悟空同学的数学成绩改为80分 update exam_result set math 80 where name孙悟空; 将曹孟德的数学成绩改为60,语文成绩改为70 update exam_result set math 60 ,chinese 70 where name 曹孟德; 将总成绩倒数后三名的数学成绩加上10分 update exam_result set math math10 order by mathchineseenglish limit 3; 将所有同学的语文成绩变成原来的两倍
首先是这样的 update exam_result set chinese chinese *2 ; 4.删除 delete from 表名 where... orderby...limit... 案例
删除孙悟空同学的考试成绩 detele from exam_result where name 孙悟空; 删除整张表 drop table if exists for_delete;首先判断库里面有没有这张表,有的话就删了 create table for_delete(id int ,name varchar(20)); 创建表 insert into for_delete (name) values(A),(B),(C);加入数据 select *from for_delete; 查看表 delete from for_delete; 删除一整张表 selete *from for_delete ;再次查看表,会发现为空了