mysql或者语法_MYSQL语法(⼀)
数据表准备:
CREATE TABLEstudent3 (
idint,
namevarchar(20),
ageint,
sexvarchar(5),
addressvarchar(100),
mathint,
englishint);INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男','杭州',66,78),
(2,'马化腾',45,'⼥','深圳',98,87),
(3,'马景涛',55,'男','⾹港',56,77),jdk编译java程序
(4,'柳岩',20,'⼥','湖南',76,65),
(5,'柳青',20,'男','湖南',86,NULL),
(6,'刘德华',57,'男','⾹港',99,99),
(7,'马德',22,'⼥','⾹港',99,99),
(8,'德玛西亚',18,'男','南京',56,65);
sql注释:
单⾏注释
--这是单⾏注释 注意--后⾯加⼀个空格再写内容
# 这也是单⾏#号注释 ⼀般在cmd上写
多⾏注释
/
*多⾏注释*/
mysql怎么读英语查询语句:
1. 简单查询: select * from 表名
select * from student3 --查询student3所以信息
select id from student3 --查询表中的字段 id
select id,name,sex from student3 --查询student3中的字段id name sex/**代表查询所有,多个字段查询,查询的字段使⽤逗号隔开*/ 2.where查询 where 关键字
where关键字代表条件根据什么条件来查询*/
select * from student3 where id = 1; --查询id为1的所有字段信息
select * from student3 where name = "马云" --查询name等于马云的信息
3.⽐较运算符查询
>⼤于 =⼤于等于=等于<>、!=不等于
select * from student3 where math > 66 --查询数学成绩⼤于66的所有学⽣信息
select name from student3 where english = 0 --查询英语成绩等于null的学⽣姓名
4.逻辑运算符查询
and(&&)多个条件同时满⾜or(||)多个条件其中⼀个满⾜not(!)不满⾜
select name from student3 where math = 56 && english = 77 --查询数学为56 且 英语为77的学⽣姓名select * from student3 where sex in('⼥'); --查询性别为⼥的信息
select * from student3 where sex not in('⼥') --查询性别不为⼥的信息
5.between 值1 and 值2 查询在值1和值2之间的数据 表⽰从值1到值2范围,包头⼜包尾
select * from student3 where math between 56 and 99 --查询数学分数在56到90之间的学⽣信息
select * from student3 where math>=56 and math<=99 --等同于 上⾯
6.like ,模糊查询
格式:SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
通配符字符串:
%: 表⽰0个或多个字符(任意个字符)
_: 表⽰⼀个字符
select * from student3 where name like "马%"; --查询所有姓马的信息
select * from student3 where name like "马_"; --查询姓马且名字是两个字的信息
边框装饰花边7.排序
benchmark是干嘛的order by ⼦句:可以将查询出的结果进⾏排序(排序只是显⽰⽅式,不会影响数据库中数据的顺序)
ASC: 升序, 默认是升序; DESC: 降序
select * from student3 order by id; --根据id升序查询
select * from student3 order by id desc --根据id降序查询
select * from student3 order by name desc --根据姓名降序查询 根据⾸字母 排序
组合排序:
select * from student3 order by math asc,english asc --根据数学成绩培训,英语成绩排序
8.聚合函数查询
五个聚合函数:
count: 统计指定列记录数,记录为NULL的不统计
sum: 计算指定列的数值和,如果不是数值类型,那么计算结果为0
max: 计算指定列的最⼤值
min: 计算指定列的最⼩值
avg: 计算指定列的平均值,如果不是数值类型,那么计算结果为0
select count(*) 信马的⼈数 from student3 where name like "马%" --查询有多少个学⽣
select sum(math) 总分数 from student3 --求班级总分数
select max(math) 数学最⾼分 from student3 --数学最⾼分
select min(english) 英语最低分 from student3 --英语最低分
select avg(math) 数学平均分 from student3 --求数学平均分
9.limit关键字
limit:是限制的意思,所以LIMIT的作⽤就是限制查询记录的条数。 ⽤于分页查询
语法:LIMIT offset,length; 或者limit length;offset是指偏移量,可以认为是跳过的记录数量,默认为0length是指需要显⽰的总记录数
select * from student3 limit 0,3 --查询第⼀条开始(包含第⼀条)后⾯三条数据
select * from student3 limit 3,3 --查询从第四条开始后⾯的三条数据
limit应⽤场景:
--每页显⽰5条--第⼀页: LIMIT 0,5; 跳过0条,显⽰5条--第⼆页: LIMIT 5,5; 跳过5条,显⽰5条--第三页: LIMIT 10,5; 跳过10条,显⽰5条
SELECT * FROM student3 LIMIT 0,5;SELECT * FROM student3 LIMIT 5,5;SELECT * FROM student3 LIMIT 10,5;
10.别名查询 as 关键字 as可以省略
select name as 学⽣姓名,age as 学⽣年龄 from student3 --查询学⽣姓名和年龄并设置别名
在查询时,数据库查询会展⽰字段名,我们可以使⽤别名来改变它的展⽰ 查询时给列、表指定别名需要使⽤as 关键字
select name 学⽣姓名,age 学⽣年龄 from student3 --查询学⽣姓名和年龄并设置别名
对⽐如下:slidedown重复
select name,age from student3 --查询学⽣姓名和年龄不设置别名、
添加语句:
常规语句:INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);
insert into student3(`name`,age,sex,address,math,english) values ('常将',21,'男','⼴东',98,68) --插⼊⼀条数据
省略语句:INSERT INTO 表名 VALUES (值1, 值2, 值3…);
insert into student3 values (18,'常将',21,'男','⼴东',98,68) --插⼊⼀条数据
插⼊多条语句::INSERT INTO 表名 VALUES (值1, 值2, 值3…),(值1, 值2, 值3…),(值1, 值2, 值3…),(值1, 值2, 值3…)..... ;
insert intostudent3 (`name`,age,sex,address,math,english)values('常将1',21,'男','⼴东',98,68),
('常将2',21,'男','⼴东',98,68),
('常将3',21,'男','⼴东',98,68),
('常将4',21,'男','⼴东',98,68),
('常将5',21,'男','⼴东',98,68);
注意:
1. insert into student3 values (18,'常将',21,'男','⼴东',98,68) -- 插⼊⼀条数据
2、 insert into student3(`name`,age,sex,address,math,english) values ('常将',21,'男','⼴东',98,68) -- 插⼊⼀条数据
区别:第⼀条,没有限制插⼊的字段,所有默认插⼊数据库的全部字段,使⽤主键id也要添加上去,第⼆条,指定了字段个数,由于id是主键⾃增所有我就不写了,当然加上去也是可以的。
蠕⾍复制 :INSERT INTO 表名1 SELECT * FROM 表名2;
CREATE TABLE student2 LIKE student3; --⾸先创建⼀个表结构⼀样的表
insert into student2 select * from student3 --进⾏复制
注:表1和表2的表结构要⼀致
修改语句:
语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
update student3 set `name` = '柳依依' where id = 4 --将id为4的名字修改为柳依依
update student3 set age = 22 where `name` = '马云' --将名字为马云的年龄修改为 22
注:修改语句⼀定要跟⼀个where条件
删除语句:
删除表全部数据: DELETE FROM 表名;
delete from student2 --删除表student2 的数据、
摧毁表:TRUNCATE TABLE 表名;
2021最火手帐边框truncate table student2 --摧毁表student2 的数据
根据条件删除:DELETE FROM 表名 WHERE 字段名=值;
delete from student3 where id = 18 --删除id为18的 学⽣数据
delete from student3 where id = 19 || id = 20 --删除id 为 19 和为20 的学⽣数据
个⼈学习,内容简略
内容来源于⽹络如有侵权请私信删除
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论