知识大纲
- 熟悉基本 SQL 操作包括增删改查(insert、delete、update、select语句),排序 order,条件查询(where 子语句),限制查询结果数量(LIMIT语句)等
- 稍微高级一点的 SQL 操作(如Group by,in,join,left join,多表联合查询,别名的使用,select 子语句等)
- 索引的概念、索引的原理、索引的创建技巧
- 数据库本身的操作,建库建表,数据的导入导出
- 数据库用户权限控制(权限机制)
- MySQL的两种数据库引擎的区别
- SQL 优化技
- MySQL索引方法?索引的优化?
- InnoDB与MyISAM区别?
- 事务的ACID
- 事务的四个隔离级别
- 查询优化(从索引上优化,从SQL语言上优化)
- B-与B+树区别?
- MySQL的联合索引(又称多列索引)是什么?生效的条件?
- 分库分表
MySQL 数据库增删改查语句
查看数据库
show databases;
使用数据库
use 数据库名;
创建数据库
DROP DATABASE 数据库名;
创建表
create table 表名(
列名1 类型(长度) [约束],
列名2 类型(长度) [约束],
……
);
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
长度区别
int类型带长度:不影响存取值,即使设定的值超出了长度的范畴,也能存,如果没有达到设定的长度,则使用空格自动填充到设定的长度
char类型:不可变字符,设定的长度就是规定当前字段能存的数据的最大长度,若超出长度,则会报错,若没有达到长度,使用空格填充到设定的长度
varchar:可变字符,设定的长度同样是规定当前字段能存的数据的最大长度,若超出长度,则会报错,若没有达到长度,不会使用空格填充,实际多长就是多长
删除表
DROP TABLE 表名;
表约束
1.非空约束 NOT NULL
2.默认值约束 DEFAULT '男'
3.唯一约束 UNIQUE
4.主键约束 PRIMARY KEY
查看表结构
DESC 表名
修改表
修改列名
Alter table 表名 change 列名 列名 新类型;
修改列类型
Alter table 表名 modify 列名 新类型;
查询表中全部信息
select * from 表名;
查询表中指定列的信息
select 列1,列2 from 表名;
语句的执行顺序:from—>select
数据去重
select distinct 列…. From 表名;
拼接结果
select concat(列1,列2) from 表名;
条件查询
select 列… from 表名 where 条件;
条件中比较运算符:( 等于:= 大于:> 大于等于:>= 小于:< 小于等于:<= 不等于:!= 或 <> )
where 列 比较运算符 值;
注意:字符串、日期需使用单引号括起来
语句的执行顺序:from—>where—>select
逻辑运算符( 并且:and 或 && 或:or 非:not 或 ! )
where 条件1 逻辑运算符 条件2;
where not 条件;
范围查询
where 列 between 条件1 and 条件2; //列在这个区间的值
where 列 not between 条件1 and 条件2; //不在这个区间
where !( 列 between 条件1 and 条件2 ); //同样表示不在这个区间
集合查询( 判断列