目录
登录Mysql
mysql -u用户名 -p密码 (显示密码)
mysql -uroot -p (不显示密码)
常用命令
exit //退出mysql
show databases; //查看数据库
use 数据库名 ; //使用数据库
create database 库名 ;//创建数据库
case.....when....then....when....then.....else....end
// eg: select name,job,(case job when 'a' then salary1.1 when 'b' then salary1.2 else salary end) as newsalary from emp;
数据库基本单元是表 table
数据库是以表格形式表示的数据的
行(row):数据
列(column):字段
show tables; 查看当前数据库下有哪些表
数据库中字符串是用单引号括起来的,单引号是标准
sql语句
分类
DQL- 数据库查询语言
DML- 数据库操作语言
DDL -数据库定义语言
TCL -事务控制语言
DCL -数据控制语言
mysql 不见";"不执行,“;”表示结束
查看表结构:desc 表名;
查看数据库版本号:select version();
查看当前使用的数据库 select database();
DQL
简单查询
select 字段名 from 表名;
查询两个或者多个字段 select 字段名1,2,.......from 表名;
查询所有字段: select *from 表名;
给查询的列起别名:select 字段名 as 别名 from 表名;(as可以用空格代替)
字段可以使用数学表达式,进行数学运算
条件查询
格式:select .....from .....where 条件;
条件:= , <,>,!=,<=,>=,<>(不等于),and和or(可连接多个条件)
between..and... 两个值之间,等同于 >= and <=
is null ,is not null
not(可以取非,主要用在is或in中)
like 模糊查询,支持%或下划线匹配
in 包含,相当于多个or 格式:in(条件1,条件2,.......)
not in 不包含
<%匹配任意个字符,一个下划线只匹配一个字符>
<and 优先级高于or,可以加括号控制优先级>
排序
select ...from ....order by 字段 desc; //降序
select ...from ....order by 字段 (asc); //升序
select A,B from ......order by A,B; //A在前面起主导作用,只有在A相等的时候,才会启用B排序
select ....from ...order by 1; //表示对第一列排序
单行处理函数
特点:一个输入对应一个输出
使用函数:函数名() <函数可以嵌套>
lower 转换小写
upper 转换大写
substr 取子串
格式:substr(被截取的串,起始下标(从1开始),截取长度)
length 取长度
trim 去空格
str_to_date 将字符串转成日期
date_format 格式化日期
concat(字段1,字段2) 字符串拼接
format 格式化日期
round 四舍五入
rand 生成随机数
ifnull 可以将null转成一个具体值
格式:ifnull(字段名,数字)//如果出现null,则null为....
<null参与运算结果一定为null>
多行处理函数(分组函数)
特