MySql入门
一.定义
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。属于小型数据库
二.基本操作
2.1 库级操作
创建数据库 create database 数据库名 [character set 字符集][collate 校对规则
校对规则(collation):是在字符集内用于比较字符的一套规则
查看所有数据库 show databases
查看字符集(查看数据库定义) show create database 数据库名
删除数据库 create database 数据库名
修改数据库字符集 alter database 数据库名 character set 字符集
切换数据库 use 数据库名
查看正在使用的数据库 select database();
2.2 表级操作
- 创建表
create table 表名(
列名 类型 约束,
列名 类型 约束,
列名 类型 约束
);
- 查看表
查看所有的表 show tables;
查看表的定义结构(查看表的字段) desc 表名;
查看建表语句(不重要) show create table 表名
- 修改表
修改列的类型约束; alter table 表名 modify 字段 类型 约束 ;
修改列的名称,类型,约束;alter table 表名 change 旧列 新列 类型 约束; 新列明必须指定类型
删除一列; alter table 表名 drop 列名;
修改表名 ; rename table 旧表名 to 新表名;
insert into 表名(列,列..) values(值,值..);
insert into 表名 values(值,值....)有多少列values后面就要写多少个值,哪怕你要为空你也得写null。
update 表名 set 字段 = 值 ,字段 = 值 [where 条件]
delete from 表名 [where条件];如果没加条件相当于将表中的数据全部删除。
truncate table 表名;将表中的所有数据都删除
select [列名,列名] [*] [聚合函数][distinct 字段] from 表名 [WHERE --> group by -->having--> order by]
*聚合函数不能用在where条件中
如果要统计表中的总数据条数,那么count( *|不能为空的字段名)
sum();计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
max();计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
min();计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
avg();计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
*where和having的区别
-
-
2.having后面可以使用聚合函数,where后面不可以使用聚合函数
-
3.having后面的条件中只能出现分组的字段名或者是你用到的聚合函数
-
4.WHERE是分组前记录的条件,如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组;而HAVING是对分组后数据的约束。
顺序: select...from...where...group by...having...order by...limit a,b(解释:limit a,b是分页查询);