1. MySQL 关系型数据库—>存储数据的仓库 本质是文件系统
优点:文件系统, 存储数据 , 查询快 IO
2.数据库的创建 数据库是mysql系统中管理和存储数据的仓库 1)显示所有数据库 show databases; 2)建立数据库 create database dbname; create database dbname character set utf8 3)使用数据库 use dbname; 4)查看当前使用的数据库 select database(); 5)删除数据库 drop databse dbname; 6)修改表名 alter table old_tablename rename new_tablename; 3.约束 主键 默认值 唯一 非空 外键 primary key default unique not null foreign key(class) references my_tab2(主键字段名); 4.创建表 create table t_name( 字段1 数据类型 约束, 字段2 数据类型 约束, 。。。 ); 5.show tables; desc t_name;//查看某个表的结构
6.修改表 1)add(添加表列): alter table t_name add 列名 int 2)modify(修改列类型): alter table t_name modify uid varchar(10) 3)删除列: alter table 表名 drop 列名 4)change(修改列名) alter table t_name change 旧列名 新列名 属性 7.表的基本操作 1)插入: insert into 表名(列名1,列名2, …) values(列值1, 列值2, …); 2)更新: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 3)删除: DELETE FROM 表名称 WHERE 列名称 = 值 4)查找: SELECT 列名称 FROM 表名称 或者 SELECT * FROM 表名称 8.查找总结: 1)去掉重复记录: select distinct 字段 from 表名; 2)使用别名: 使用as 别名可以给表中的字段,表设置别名. 3)ifnull函数 在对数值类型的列做运算的时候,如果做运算的列的值为null的时,运算结果都为null,为了解决这个问题可以使用ifnull函数 ifNULL(UnitsOnOrder,0) 4)in 可以比较多个值 5)like 模糊查询 通配符使用: 1.% 匹配多个 2._ 匹配一个 6)null值操作: is null; 判断为空 is not null; 判断不为空 7)order by排序: select 字段 from table where 条件 order by 字段 asc/desc ,字段 asc/desc 8)聚合函数: count:统计指定列不为NULL的记录行数; sum:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0; max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算; min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算; avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0; 9)分组操作: GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。 对分组后的操作,条件用having 10)多表操作 外键约束:CONSTRAINT FK_UID FOREIGN KEY orders(uid) REFERENCES USER(uid) 笛卡儿积:Select * from A,B; 内连接:内连接就是两张表同时都满足一定的条件的的结果 Select * from A inner join B on (连接条件[外键字段名=另一个表的主键字段]) 外连接: 左外连接 以左边表为主 右外连接 以右边表为主 11)分页显示 limit a,b —从a开始,读取b条数据 12)where having on where :普通条件 ,在group by 之前使用 having :用在group by 之后 on :内连接和外连接的条件