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),

(4,'柳岩',20,'女','湖南',76,65),

(5,'柳青',20,'男','湖南',86,NULL),

(6,'刘德华',57,'男','香港',99,99),

(7,'马德',22,'女','香港',99,99),

(8,'德玛西亚',18,'男','南京',56,65);

sql注释:

单行注释

--这是单行注释 注意--后面加一个空格再写内容

# 这也是单行#号注释 一般在cmd上写

多行注释

/*多行注释*/

查询语句:

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.排序

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 --查询学生姓名和年龄并设置别名

fa7e19512cf3d11bf0b763a93dc4785f.png

对比如下:

select name,age from student3 --查询学生姓名和年龄不设置别名、

0505020a73a266ca593ba5d89410bc98.png

添加语句:

常规语句: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 表名;

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 的学生数据

个人学习,内容简略

内容来源于网络如有侵权请私信删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值