源自b站动力节点老杜mysql入门基础视频
常识总结
mysql登录:
mysql -uroot -p密码
或者mysql -uroot -p
password:...
简短命令:
show databases;
use ...;
create database ...;
show tables;
基本单元:表(table)
行(row) 数据/纪录
列(column) 字段
导入sql文件中的数据:
source 路径(路径不要含有中文,可能会出错)
查看表中全部数据:
select * from 表名;(*为通配符)
只看表的结构
desc 表名;(desc是describe的缩写)
varchar是java中的String
注意:mysql不见分号不执行,分号表示结束(必须为英文),\c用来终止一条SQL语句
sql语句不区分大小写
简单查询
1.查询一个字段
select 字段名 from 表名;
其中select和from是关键字,字段名和表名都是标识符
2.查询两个字段或者多个字段
select 字段名1,字段名2 ...from 表名;
3.查询所有字段
方法一同2
方法二用*通配符(不建议,效率低,可读性差)
4.给查询的列起别名
select 字段名1,字段名2 as 别名 from 表名;
注意:
5.列参与数学运算
select 字段名1,字段名2*12 as ‘年薪' from 表名;(字段2列乘12 记作年薪,中文要用单引号)
条件查询
= !=(<>) < <= >= and between and(闭区间,左小右大) or is not null not in
and的优先级大于or,需要加括号
排序
1.升序 order by 字段名 asc(asc可以不写,默认为升序)
2.降序 order by 字段名 desc;
数据处理函数
数据处理函数又称作单行处理函数-(一个输入对应一个输出)
substr(被截断的字符串,起始下标(从1开始),截取的长度)
concat(字段名1,字段名2)-字符串拼接
select后面可以跟字段名或者字面值
在所有数据库当中,只要有NULL参与的数学运算,最终结果就是NULL。为了避免这个现象可以使用ifnull(字段名,0)将为NULL的值按0算。
分组函数(多行处理函数)
分组查询
总结
1.select … from … where … group by … having … order by …
2.执行顺序:from where group by having select order by