MySQL(上)

Mysql

登录到服务端:select version();

没有登陆到服务端:查看mysql 版本 mysql --version|mysql -V

MySQL的常见命令

  • 查看当前所有的数据库 show databases

  • 打开指定的库 use 库名

  • 查看当前库的所有表 show tables

  • 查看其它库的所有表 show tables from 库名

  • 创建表 create table 表名(

    列名 列类型,

    列名 列类型,

    *** ……***

  • 查看表结构 desc 表名;

  • 查看创建表语句:show create table 表名;

语法规范

  • 不区分大小写,但建议关键字大写,表明、列名小写

  • 每条命令最好用分号结尾

  • 每条命令根据需要,可以进行缩进或换行

  • 注释 (解释说明命令)

    • 单行注释:#注释文件、-- 注释文字

    • 多行注释 /* 注释文字 */

查询
  • 语法

    • select 查询列表 from 表名;
      • 查询列表可以是字段、常量值、表达式、函数
      • 查询的结果是一个虚拟的表格
  • 别名

    • 使用as 使用空格
  • 显示表结构:

    • DESC 表名;
  • 去重

    • select distinct 查询列表 from 表名;
  • +号的作用

    • select concat(‘字段1’,‘字段2’,…) from 表名;

    • select 100+90;两个操作数都为数值型,则做加法运算

    • select ‘123’+9;其中一方为字符型,试图将字符型转换成数值型,

      ​ 如果转换成功,则继续做加法运算.

    • select ‘mike’+90;如果转换失败,则字符型数值转换成0

    • select null+10;只要其中一方为null,则结果肯定为null

  • ifnull(字段,0)//判断该字段是否为空

条件查询
  • 语法

    select 查询列表 from 表名 where 筛选条件;

  • 模糊查询

    like

    select 查询列表 from 表名 where like ‘%字符%’;or like _字符_

    ESCODE ‘字符’ 自定义转意字符

    ·between and·

    select 查询列表 from 表名 where 字段 between ‘条件1’ and ‘条件2’;

    in

    is null:判断null值 is not null :不为空

    <=> 安全等于:不仅能判断null,还能判断普通数值。

函数

单行函数
字符函数
  1. concat(str1,str2,…) :连接字符串
  2. lower(str) :大写变小写 upper(str):小写变大写
  3. trim(str): 去掉字符串两边的空格
  4. substr(str,pos):截取字符串
  5. instr(str,substr):返回字串在当前字符串的第一次起始位置索引
  6. lpad(str,len,‘填充字符’) 用指定字符在字符串左侧填充
  7. rpad 右填充
  8. replace(str,from_str,to_str)替换
  9. ifnull(str,‘替换的字符’) 判断该字段是否为空,如果为空则替换为对应的字符。
  10. length(str)获取参数值的字节个数
数学函数
  1. round(x,d) 四舍五入
  2. ceil(x)向上取整,返回>=该参数的最小整数
  3. floor(x)向下取整,返回<=该参数的最小整数
  4. truncate(x,d)截断
  5. mod(x,x)取余
日期函数
  1. now() 返回当前日期+时间
  2. curdate() 返回当前日期,不包括时间
  3. curtime() 返回当前时间,不包括日期
  4. str_to_date(‘date’,‘format’)将日期格式的字符转换成指定格式的日期
  5. date_format(date,format) 将日期转换成字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmSSYpga-1633334860555)(E:\桌面\成绩\MySQL.png)]

  1. datediff(date,date) 计算前后日期相差天数
  2. monthname 以英文形式返回月
其他函数

version() 查看版本

database() 查看当前库

user() 当前用户

流程控制函数
  1. if(10>5,‘大’,‘小’)

  2. case函数:

    一、 类似java的(switch-case)

    case 要判断的字段或表达式

    when 常量1 then 要显示的值或语句;

    else 要显示的值或语句

    end

    二、 类似于 多重if

    case

    when 条件1 then 要显示的值或语句;

    when 条件2 then 要显示的值或语句;

    else 要显示的值或语句

    end

分组函数

sum求和 、avg平均值、max最大值、min最小值、count 计算个数

特点

  1. sum、avg一般用于处理数值

    max、min、count可以处理任何数据

  2. 他们都忽略null值

  3. 可以和distinct搭配,实现去重

语法

select 分组函数,列(要求出现在group by的后面)

from 表

【where 筛选条件】

group by 分组的列表

【order by子句】【having 筛选条件】

sql92

等值连接
  1. 多表等值连接的结果为多表的交集部分
  2. n表连接,至少需要n-1个连接条件
  3. 多表对顺序没有要求
  4. 一般需要为表起别名
  5. 可以搭配前面介绍的所有子句使用,比如排序、分组、筛选

sql99

语法:

select 查询列表

from 表1 别名 【连接类型】

join 表2 别名

on 连接条件

【where 筛选条件】

【group by 分组】

【having 筛选条件】

【order by 排序列表】

对顺序没有要求
4. 一般需要为表起别名
5. 可以搭配前面介绍的所有子句使用,比如排序、分组、筛选

sql99

语法:

select 查询列表

from 表1 别名 【连接类型】

join 表2 别名

on 连接条件

【where 筛选条件】

【group by 分组】

【having 筛选条件】

【order by 排序列表】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值