SQL基础

SQL

一、SQL基础
1.1 认识数据库

​ 数据库按类型可分为关系型数据库和NoSQL数据库,关系型数据库由数据表组成,数据表之间可能存在关联关系,因此称之为关系型数据库,或者关系型数据管理系统(RDBMS)。关系型数据库的代表有MySQL、Oracle、SQLServer等,它们支持SQL语句。NoSQL数据库没有数据表,也不支持SQL语句,有着自己的查询和操作方式,典型的代表是Redis数据库。

在这里插入图片描述

在这里插入图片描述

1.2 常见的数据库操作命令

​ 数据存储在数据表(table)中,数据表在数据库(database)中,我们想要存储数据,首先需要创建数据库,常用的与数据库相关的SQL命令如下图所示:

在这里插入图片描述

1.show databases; 查看当前用户下所有的数据库
2.create database test (set utf8); 创建一个叫test的数据库,字符集编码方式为utf-8
3.drop database test;删除一个叫test的数据库
4.use test;选中数据库 ,在建表之前必须要选择数据库
5.show databases like '%dbdx%';模糊查询数据库,列出所有含有dbdx的数据库
6.show create database test;查看数据库test创建详细信息
1.3 常见的数据库表的操作命令

​ 我们经常需要创建数据表,下面是对数据库中表格的常用操作:

在这里插入图片描述

1.create table 表名 (字段 类型 约束,字段2 类型2 约束2, ...);创建数据表
2.drop table 表名;删除数据表
3.alter table 表名 add 字段 字段类型;添加新的字段
4.alter table 表名 modify 字段 字段类型;修改字段类型
5. alter table 表名 drop 字段名;删除表字段
6.show tables;查看当前数据库下的所有数据表
7.desc table 表名;查看数据表的结构
8.show create table 表名;查询创建表时的语句
1.4 常见的对数据的操作命令

​ 在日常的工作中,对数据的操作命令的使用频率是最高的,除了能对数据进行增删改查操作,还能进行排序查询、分组查询、统计查询、分页操作、还能联表查询等,常用对数据的操作命令如下图所示:

在这里插入图片描述

1.增加数据(insert)3种方式
    1.1 insert into 表名 values(1,值2...)(很少用)
    1.2 insert into 表名(字段1,字段2...) values(1,值2....);(较常用)
    1.3 insert into 表名(字段1,字段2...) values(1,值2....)(1,值2....)(1,值2....);
2.删除数据(delete) delete from 表名 where 条件 注意:where 条件必须加,否则数据
会被全部删除。
3.更新数据(update)  update 表名 set字段1 =1, 字段2 =2 where 条件
4.查询数据(select)
    4.1 查询表中的所有数据   select * from 表名
    4.2 指定数据查询    select 字段 from 表名 
    根据条件查询出来的数据  select 字段 from 表名 where 条件 (最常用的)
    where 条件后面跟的条件
     关系:>,<,>=,<=,!=  
     逻辑:or, and 
     区间:id between 4 and 6 ;闭区间,包含边界
5.排序
select 字段 fromorder by 字段  排序关键词(desc | asc)
排序关键词 desc 降序 asc 升序(默认)
    5.1 通过字段来排序
    例如 :select * from star order by money desc, age asc;   
    5.2 多字段排序
    select 字段 fromorder by 字段1  desc |asc,...字段n desc| asc;
6.常用的统计函数 sum,avg,count,max,min
    只分组:select * fromgroup by 字段
    例子: select count(sex) as re,sex from star group by sex having re > 3;
    分组统计: select count(sex) from star group by sex;
7.分组 select * from 表名  limit 偏移量,数量
    说明:
        7.1.不写偏移量的话就是默认的为0
        7.2.实现分页的时候必须写偏移量
        偏移量怎么计算?:
        limit (n-1)*数量 ,数量 
8.联表查询 
	8.1 内连接  INNER JOIN 就类似取两个表的交集部分
		SELECT s.`StudentNo`,`StudentName`,`SubjectNo`,`StudentResult` FROM student AS s 		 INNER JOIN result AS r ON s.studentNo = r.studentNo;
	8.2 右连接 显示从表数据,join后的表
		SELECT s.`StudentNo`,`StudentName`,`SubjectNo`,`StudentResult` FROM student AS s 		 right join result AS r ON s.studentNO = r.studentNo;
    8.3 左连接 显示主表数据,from后的表
    	SELECT s.studentNo,`StudentName`,`SubjectNo`,`StudentResult` FROM student AS s 		    LEFT JOIN result AS r ON s.studentNo = r.studentNo;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值