myspl增删改查

-- create table sheet1(id int ,name varchar(50));
-- 指定行插入
-- insert into sheet1 (name,id,age) values('吴二',4,11);
-- 多行插入
-- insert into sheet1 values (5,'王五',1),(6,7,'赵六');
-- 全列查询    最基础的操作,但在实际开发中也很危险,如果数据量较大,进行全列查询将会大量消---耗系统资源,有可能导致宕机。
-- select *from sheet1
-- 指定列查询
-- select name,age,password from `user.class`
-- 查询字段为表达式
-- select name,age+20,password from `user.class`
-- 列表相加查询
-- select name,age+password from `user.class`
-- 指定别名查询
-- select name,age+password as total from `user.class`
--  针对查询结果去重 	  如果是针对多个列进行去重,只有这多个列的值都相同时才会被视为重复
-- select distinct password,age from `user.class`;
-- 升序降序
-- select 列名..... from 表明 order by 列名 asc/desc;
-- select age from `user.class` order by age asc
-- 条件查询
-- select name,age from sheet1 where age>2;
比较运算符:
运算符										说明
>, >=, <, <=						大于,大于等于,小于,小于等于
=							等于,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 NULLNULL
IS NOT NULL								      不是 NULL
LIKE			模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符
逻辑运算符:
运算符									说明
AND					多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR						    任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT						 条件为 TRUE(1),结果为 FALSE(0)

查询

-- 查询学生表中的所有字段。;表语句结束, --表注释
select * from student;
-- 查询学生表中的姓名和密码
select name, password from student;
-- 查询ID为1的学生信息
SELECT * from student where id=1;
-- 查询名字叫张三的学生
select *from student where name="张三";
-- 查询年龄大于17岁的学生
select * from student WHERE age>17;
-- 查询你年龄大于等于17,并且年级是二年级的同学
SELECT * from student WHERE age>=17 and grade='二年级';
-- 查询姓李的同学
SELECT * from student where name like '李%';
-- 查询名字中包含同字的学生
SELECT *from student WHERE name like '%同%';
-- 查询ID为3,4,5的学生信息
select *
from student
where ID in(3,4,5)
-- 查询tea_ID为Null与不为Null的学生信息
SELECT*from student where teacher_ID IS Null;
SELECT*from student where teacher_ID IS NOT Null;

-- 向学生表中添加数据
INSERT INTO student values(6,'赵同学','213','蓝桥班',23);

-- 向学生表中添加数据,只添加用户名和密码
insert into student(NAME, password) values('李老师','123');

-- 删除ID为7的学生
delete from student where ID=7;

-- 修改学生信息,ID为8的学生密码改为123456
update student set password='123456' where ID=8;


-- 修改学生信息,把ID为6的学生年级修改为大三,年龄修改为21


update student set grade='大三',age=21 where ID=6;


单行函数
-- 最大年龄


select name, grade,max(age)
from student;



-- 最小年龄
SELECT name, grade, min(age)
from student;



-- 平均年龄
SELECT name, grade, avg(age)
from student;

-- 年龄和
SELECT sum(age)
from student;

查询所有信息
Select *
from student s, teacher t where s.teacher_ID_ID = t.ID

-- 给表或字段起别名
SELECT s.name stu_name, t.name tea_name
from teacher t, student s where s.teacher_ID = t.ID;

-- 查询老师所教的学生
SELECT t.name tea_name, s.name stu_name
from teacher t, student s 
where s.teacher_ID = t.ID 
and t.ID=1;

-- 查询李老师所教的学生 并按学生年龄排序
-- 排序语法 order by [asc|desc] asc:正序,默认可省略 desc:倒叙,不可省略
SELECT *
from teacher t, student s 
where s.teacher_ID = t.ID 
and t.ID=1
order by s.age; -- desc 倒叙

-- 查询所有学生的信息,以及关联老师信息。如果还没有选课,老师信息为空
-- 左连接 左表信息全量查询,右表与坐标匹配,没有就为NULL
select *
from student s -- 以学生表为主
left join teacher t on s.teacher_ID=t.ID;

-- 右外连 右表信息全量显示,左表与右表匹配
select *
from student s
RIGHT JOIN teacher t ON s.teacher_ID = t.ID;

-- 查询比平均年龄大的学生信息
SELECT *
from student
where age>(SELECT avg(age)from student);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值