SQL初识

一些介绍

数据库

文件仓库

数据库管理系统

管理仓库(增删改查)如MySQL

SQL

数据库语言

mySQL一些命令

SQL不区分大小写!!!

show databases;//查看有哪些数据库

use 数据库名;//使用某个数据库

creat database 数据库名;//创建一个数据库

show tables;//查看某个数据库下有哪些表

source 路径名;//导入该路径的sql文件,**路径中不能有中文**

desc(describe) 表名;//查看该表的结构

select version();//查询MySQL的版本号

select database();//查询当前的数据库名

数据库最基本的单元:表(table)

行(row):数据、记录

列(column):字段

每一个字段包含:字段名、数据类型、约束等属性

SQL语句分类

  • DDL:
    数据查询语言

    ​ select…

  • DML:

    ​ 数据操作语言

    ​ insert delete update(数据的增删改)

  • DDL:

    ​ 数据定义语言

    ​ creat drop alter(表结构的增删改)

  • TCL:

    ​ 事物控制语言

    ​ 事务提交(commit) 事物回滚(rollback)

  • DCL:

    ​ 数据控制语言

SQL查询

简单查询
select 字段名 from 表名;//查询某个字段
select 字段名1,字段名2 from 表名;//查询多个字段
select * from 表名;//查询全部字段(由于需要将*转化为字段名,所以效率较低,实际开发不建议使用

select 字段名 as 别名;//显示时字段名用别名代替,但不会修改表中的数据(","可以用空格代替,如果别名中有空格可以把别名用单包含)
select 字段名+运算;//字段的运算
条件查询
select 字段名1,字段名2....from 表名 where 条件;
  • 关系运算符( 等号为=,不等号有!=和<>)
  • between … and…(注意前面的值要小于后面的值,等同于…>= and …<=)查询两个值之间的
  • 逻辑运算符 and,or,not **注意:**优先级and大于or,必要时应当用括号包含
  • in 包含,可以用来代替= 例如 select 字段名 where …in(… , …);

**注意:**数据库中是否为null需要用is null或is not null来判断,因为null不是一个值

模糊查询

like

%匹配任意多个字符

_匹配一个字符

like ‘%T%’//所有包含T的

like ‘T%’//开头为T的

like ‘%T’//结尾为T的

like ‘_T%’//第二个字母为T的

如果查询的内容有_或者是%可以使用转义字符 \_ 和%

排序查询
select ... from ... order by ...;//默认升序
select ... from ... order by ... desc;//降序
select ... from ... order by ... asc;//升序
select ... from ... order by 字段一 asc,字段二 asc;//优先字段一升序排列,若相等则按字段二升序排列

分组查询
select ... from ... where ... group by ... order by...

执行顺序:

  1. from
  2. where
  3. group by
  4. select
  5. order by
数据处理函数/单行处理函数

特点: 一个输入对应一个输出

lower/upper转小/大 写
substr(被截取的字符串,起始下标,截取的长度)**起始下标从1开始**
concat(s1,s2)//字符串拼接
length(s)//字符串长度
trim(s)//字符串去空格
str_to_data//字符串转化为日期
data_format//格式化日期
round(数值,保留的小数点位数)//四舍五入(小数点位数可以为负,为负则往前约束)
rand()*100//生成100以内的随机数
ifnull(数据,改为的值)//如果数据为null就改为一个具体值 补充:在SQL中只要有null参与的运算结果都是null
case..when..then..when..then..else..end//类似于switch
分组函数/多行处理函数

**特点:**多个输入对应一个输出

min()//最小值
max()//最大值
avg()//平均值
sum()//求和
count()//计数

注意:

  • 分组函数使用前必须进行分组,如果没有分组默认整张表是一组
  • 分组函数计算时会忽略null
  • *代表一行的数据,由于一行的数据不可能全为null,所以可使用count(*)计算行数
  • 分组函数不能直接用在where子句中(因为where语句运行时还没有进行分组)
  • 分组函数可以结合起来一起用,利用“,”分割
  • select语句中如果有group by,select后面就只能跟参加分组的字段以及分组语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最后一只三脚兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值