Mysql基础
这文档是我在bilibili观看视频后做的一些笔记
1. 什么是数据库:简单点就是存储数据的仓库
2.什么是数据库管理系统:数据库管理系统就是用来管理数据库的,可以对数据库的数据进行增删改查
3.什么是sql sql是一套标准与规范,用来管理数据库的语句基本是基于sql的。
4 启动Mysql 服务 net start mysql; 结束:net stop mysql;
5 登录 mysql -u账号 -p密码
6 退出 exit;
7 查看数据库 show databases;
8 选择数据库 user 数据库名;
9 创建数据库 create database 数据库名;
10 查询数据有哪些表 show tables;
11 查看数据库版本号 select version();
12 查看当前使用的是哪个数据库 select database();
13 mysql 语句不见;不执行 ,\c 可以结束命令的输入
14 将sql 语句导入到数据库 source sql文件路径名 路径不能有中文
15 查看表结构 desc 表名;
16 查所有 select * from 表名; 查某几个字段 select 字段名1,字段名2... from 表名;
17 取别名 select 字段名 as 别名 from 表名 as可以省略 如果别名有空格需要单引号括起来
18 条件符 = 等于 <>,!=不等于 <小于 > 大于 >= 大于等于 <= 小于等于,is null 为空 is not null 不为空,between and ,in ,not in...
19 and 与 or 同时出现 and 优先级高 想要or 先执行 则需要加小括号
20 模糊查询 like '%T' T结尾 'T%' T开头 '_A%' 第二个字符是A '__A' 第二个字符是A 含有_的 ’%\_%‘
21 排序 order by
22 函数 lower() 转小写 upper() 转大写
23 substr 取子串(substr( 被截取的字符串, 起始下标,截取的长度))
24 concat() 拼接
25 length()求长度
26 trim() q去空格
27 str_to_date 将字符串转换成日期 date_format 格式化日期 format 设置千分位
28 case..when..then..when..then..else..end
29 round(数字,保留小数点位数)
30 rand() :生成随机数
31 ifnull :ifnull(数据, 被当做哪个值) NULL只要参与运算,最终结果一定是NULL。为了避免这个现象,需要使用ifnull函数。
32 和函数 (分组函数)
sum();
avg();
count();
max();
min();
注意点: 1.和函数必须分组后使用,如果没有分组则整个表默认为一组
2.分组函数无需对null进行处理
3.分组函数不能够直接使用在where子句中
33 关键字执行顺序
1. from
2. where
3. group by
4 having
5. select
6 order by
USE pay_ment
INSERT INTO test VALUES(1,2)
INSERT INTO test VALUES(NULL,3)
SELECT DISTINCT id,ok FROM test
SELECT * FROM test
SELECT 100+90; 190
SELECT '123'+90 213
SELECT 'john'+90; 90
SELECT NULL+100 NULL
#ifnull(a,b)函数解释:
#如果value1不是空,结果返回a
#如果value1是空,结果返回b
SELECT IFNULL(id,100) FROM test
# between and 都包含 不能调换位置
SELECT * FROM test WHERE id BETWEEN 1 AND 0
#order by 子句中可以支持单个字段,多个字段,表达式,函数,别名;
SELECT SUBSTR('吴刚伐桂在天上',4) out_put;
SELECT CONCAT(id,'_',ok) 姓名 FROM test;
SELECT REPLACE('莉莉伊万斯的青梅竹马是詹姆','詹姆','斯内普') AS out_put;
SELECT ROUND(1.45);
SELECT RPAD('梅林',5,'&') AS out_put;
SELECT LPAD('梅林',5,'&') AS out_put;
SELECT ROUND(1.567,2);
SELECT CEIL(1.005);
SELECT CEIL(-1.002);
SELECT TRUNCATE(1.65,1);
SELECT MOD(10,3);
SELECT FLOOR(-9.99);
#5.instr:获取子串第一次出现的索引,找不到返回0
SELECT INSTR('MySQL技术进阶','技术') AS out_put;
#DATEDIFF:返回两个日期相差的天数
SELECT DATEDIFF('2020/06/30','2020/06/21');
SELECT STR_TO_DATE('2020-5-13','%Y-%c-%d') AS out_put;
#7.curdate:返回当前日期
SELECT CURDATE();
#8.curtime:返回当前时间
SELECT CURTIME();
SELECT IF(10<5,'大','小');
#case when 条件1 then 要显示的值1或语句1 when 条件2 then 要显示的值2或语句2 ... else 要显示的值n或语句n end
浙公网安备 33010602011771号