1.mysql登录
- 远程登录方式
- 本地登录方式
Code
1 |
|
2.数据库操作命令
- 创建数据库、删除数据库、展示所有数据库名。
- 查看当前数据库名、查看所有表、查看其他数据库的表。
- 查看数据库的版本、表结构、以及字符集、数据库引擎
Code
1 |
|
3.表操作命令
- 创建表、修改表数据(插入表数据、修改表数据、删除表数据、查询表数据)。
- 修改表结构(新增字段、修改表字段、增加主键、调整字段顺序、指定位置添加字段)。
- 根据原表创建新表(仅复制表结构、复制表结构和数据、复制部分表字段和表数据)。
Code
1 |
|
4.表约束
- NOT NULL: 非空约束
- DEFAULT: 默认,用于保证该字段有默认值。
- PRIMARY KEY:主键约束
- UNIQUE: 唯一约束
- CHECK: 检查约束
- FOREIGN KEY:外键约束
Code
1 |
|
注释:这些约束在你创建表和修改表的时候都可以使用。
5.表查询
- distinct(去重)
- limit(分页查询)
- offset(跳过多少条)
- UNION 和 UNION ALL(联合查询)
- like(模糊查询)
- where、between、in、or、and条件关键字
- order by (asc升序、desc降序排序)
- group by (分组查询)
- having 关键字
- case(流程控制)
Code
1 |
|
6.mysql字符串函数
- concat():拼接字符串
- substr():截取字符串
- instr():获取子串第一次出现的索引
- lpad():左边以指定字符填充到指定长度
- rpad():右边以指定字符填充到指定长度
- upper():转换为大写
- lover():转换为小写
- replace():替换函数
- length():获取字节长度
- trim():去掉字符串前后空格
Code
1 |
|
7.mysql字符串函数
- now:返回当前的日期和时间
- year:返回年份
- month:返回月份
- monthname:以英文形式返回月份
- day:返回日
- hour:小时
- mimute:分钟
- second:秒
- datediff:返回两个日期相差的天数
- date_format:将时间日期转换为字符串
- str_to_date:将字符转换成日期
- curdate:返回当前日期,不包含时间
- curtime:返回当前时间,不包含日期
Code
1 |
|
8.mysql数学函数
- ceil:中文意思表示天花板,表示向上取整
- floor:中文意思表示地板,表示向下取整
- round:对数字取四舍五入
- rand:随机取0-1之间的所及小数
- mod:取模运算
- truncate:截取,类似于字符串的substr的用法
Code
1 |
|
9.创建视图和索引
- 视图view,创建,查询视图,删除视图
- 索引index,创建索引,删除索引
Code
1 |
|
视图
是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用,使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。索引
数据库中将数据整齐的排列在磁盘阵列中,当获取数据的时候只需要逐个搜索,并返回结果,但是 如果开发的应用有几百上千万甚至亿级别的数据,那么不深入了解索引的原理, 写出来程序就根本跑不动,光查一个数据库就得好几天,因此就需要索引,能够快速的查找的需要的数据。
10.mysql连接查询
- 内连接:
- 等值连接
- 非等值连接
- 外连接:
- 左外连接
- 右外连接
- 自连接
Code
1 |
|
11.mysql子连接查询
- 按子查询出现在主查询中的不同位置分
- select后面:仅仅支持标量子查询。
- from后面:支持表子查询。
- where或having后面:支持标量子查询(单列单行)、列子查询(单列多行)、行子查询(多列多行)
- exists后面(即相关子查询):表子查询(多行、多列)
Code
1 | -- select后面的子查询 |