mysql基础
数据库三范式
- 1、列不可以在分
- 2、属性完全依赖主键
- 3、属性直接依赖主键
库有关的命令
- show databases
显示当前所有的数据库 - create data name;
创建名为那么的数据库 - drop database name
删除名字为name的数据库 - use name
选择使用的数据库
表的有关命令
- create table 表名(字段名 数据类型 ,字段名,数据类型)
create table name(id int PRIMARY KEY,name varchar(30) NOT NULL,deptid int,salary float) 创建一个名为name的表,id为主键,name字段不能为null - drop table name
删除名为name的表 - desc name
查看表的结构 - alter name add 字段名 数据类型
添加字段 给名为name的表添加新的字段 - alter name drop 字段名
删除字段 删除名为name的表的字段 - 增:insert into table(field1,field2,field3) values (values1,values2,values3);
or
insert into table values (value1,value2,value3) - 删:delete from table where 条件
- 改:update table set field = value where 条件
聚合函数
- count(*)
统计所有的行数,包括空值 - count(field)
查询表中含有field的记录数 - sum(field)
对指定的列求和 - avg(field)
计算指定列的平均值 - max(field)
查询出field字段的最大记录 - min
同上相反
条件函数
- IFNULL(expr1,expr2)
如果前面为null,返回expr2,如果前面不为null,返回expr1 - 判断null
field = null or field ! null 查不出数据
应是
field is null or field is not null ;
生疏
- DISTINCT
关键词 DISTINCT 用于返回唯一不同的值。eg:SELECT DISTINCT 列名称 FROM 表名称 - having
SQL 中增加 having子句原因是,where关键字无法与聚合函数一起使用.注意的是having后面跟的条件判断的字段必须是聚合函数返回的结果,否则sql会报错
HAVING 子句可以让我们筛选分组后的各组数据。 - sql语句的书写顺序为
select->from->where->group by->having->order by->limit - sql语句的执行顺序为
from ->where->group by->avg,sum.... ->having->select->order by->limit
子查询和连接查询
虽然可以通过多表连接查询实现查询数据的功能,但是不建议使用连接查询. 因为在连接查询时,先对两个表做笛卡儿积,再筛选符合条件的记录, 所以连接查询性能很差. 使用子查询替代连接查询.
索引
- key:普通索引
- unique key:唯一索引
- primary key:主键索引
- 多列索引:把两列或者多列的值成一个整体,然后建索引
- 冗余索引:在某列上,存在多个索引
- 添加索引
alter table 表名 add index 索引名 - 删除table的索引名字
drop index from table 索引名 on 表名
或者
alter table 表名 drop index 索引名 - 查看table的索引
show index from table
或者
create table 表明
![]()
具体字段分析
1、table:表名字
2、Non_unique 唯一索引
3、Key_name 索引名称
4、Seq_in_index 索引中的列序列号
5、Column_name 索引的列名
6、Collation 列以什么方式存储在索引中,有值’A’(升序)或NULL(无分类)。默认的类型是utf8_general_ci
7、Cardinality 基数的意思,表示索引中唯一值的数目的估计值。
8、Sub_part 前置索引的意思,列只是被部分地编入索引,如果整列被编入索引,则为NULL。
9、Packed 指示关键字如何被压缩。
10、Null 用于显示索引列中是否包含NULL。若列含有NULL,该列的值为YES。若没有,则该列的值为NO。
11、Index_type 索引类型(BTREE)
12、Index_comment 注释的意思

浙公网安备 33010602011771号