sql语句的小笔记

MySQL语句(所有标点符号都是英文符号)

先打开命令窗口(win+R,输入cmd) ,想使用数据库,需要先打开数据库。

         打开数据库:mysql –u root –p

         如果要连接别人的数据库:mysql –h XX.XX.XX.X –P xx –u xxx –p

                                            -h 后面接的是IP地址;-P 后面接的是端口 (注意是大写P)

                                            -u 后面接的是账户名。

数据库的各项命令都以分号结尾而执行,所以不要忘记了输入指令后要带上分号【;】

具体操作步骤如下:

  1. 查看数据库  show databases;
  2. 选择数据库  use 数据库的名字;  
  3. 查看数据库的表   show tables;
  4. 增:insert into 表名(字段1,字段2,字段3) values (值1,值2,值3);
  5. 删:delete from 表名 where 条件;
  6. 改:update 表名 set 字段1 = 值,字段2 = 值  where 条件;
  7. 查:   (1) 查询全表:select * from 表名;

                   (2) 查询某字段信息:select 字段1,字段2  from 表名;

                   (3) 筛选使用where带条件限制:select * from 表名 where 字段1 = 值 and 字段2 = 值;

          其中特殊筛选方式,例如:

                使用【like】表包含:查询名字中姓“张”的学生:where name like ‘张%’     

                                                    PS:带上【%】为模糊查询,不带即为精准查询。

                                                   查询名字中含有“晓”的学生:where name like ‘%文%’                  

                                                   PS:前后带上【%】表示任意含有关键字。  

         多表联查:

         select * from 表1 join 表2 on 表1.字段1 = 表2.字段2 where 表1.字段1 = 值;    

         PS:表与字段之间的小数点不要漏了

  1. 聚合函数:

        (1)count

         (2)max

         (3)min

         (4)avg

         (5)sum

小技巧——取别名: select 字段 as 别名

 

课后练习:

新建一个学生表Student(学号id,学生姓名name)、课程表Course(课程编号id、课程名称name)、成绩表SC(学号sid、课程编号cid、成绩score),并写出以下SQL语句:

1.查询姓‘王’的学生的个数;

  答:select count(*) from Student where name like '王%';

2.查询“数学”比“语文”成绩高的所有学生的学号;

  答:SELECT s.id,
max(CASE WHEN c.id = 1 THEN sc.score END) chinese,
max(CASE WHEN c.id = 2 THEN sc.score END) math,
max(CASE WHEN c.id = 3 THEN sc.score END) english
FROM  sc
JOIN student s ON SC.sid = S.id
JOIN Course C ON C.id=  sc.cid 
GROUP BY s.id
HAVING math>chinese

3.查询平均成绩大于90分的同学的学号和平均成绩;

  答:select S.id, avg(sc.score) as avg_grade from Student S join SC on S.id = SC.sid join Course C on SC.cid = C.name group by s.id having avg_grade >90 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值