* MySQL数据库
* 数据库的简介
* 数据库是一个文件系统,获取通过SQL语句操作。
* 访问数据库服务器,在服务器内部存在多个数据库,在数据库中是表,表中是字段,对应java类的属性。
表中一条记录对应的java一个实例对象。
* SQL语句
* SQL的分类
* DDL
创建数据库,创建表、删除和修改数据库
(create drop alter)
* DML
操作数据(insert update delete)
* DCL
if
* DQL
操作数据(select)
* 操作数据库(CRUD)
* 创建数据库
create database 数据名 character set 编码 collate 校对规则;
* 删除数据库
drop database 数据库名;
* 修改数据库
alter database 数据名 character set 编码 collate 校对规则;
* 查看数据库
show databases; 查询所有的
show create database 数据库名;
* 操作表
* 创建表结构
create table 表名(
字段 类型(长度) 约束,
字段 类型(长度) 约束
);
* 常见的类型
* 字符串相关 varchar char 区别:varchar长度是可变的,char长度不变的。
* int bigint(long) double float
* bit 布尔类型
* 日期类型 date time datetime timestamp
* datetime timestamp的区别:前面需要手动录入数据,timestamp默认获取当前的系统时间
* 约束(单表约束)
* 主键约束(默认唯一 非空)
* primary key
* 自动增长 auto_increment
* 唯一约束
* 代表值是唯一的
* unique
* 非空约束
* not null
* 删除表
drop table 表名;
* 修改表结构
alter table 表名 add 新字段 添加字段
alter table 表名 modify 修改类型、约束
alter table 表名 change 修改字段名称
alter table 表名 drop 删除字段
rename 表名称
* 查询表
desc 表名;
show tables; 所有的表
show create table 表名;
* 操作数据
* 插入数据
insert into 表名 (字段1...) values (值1...);
insert into 表名 values(值1...);
* 修改数据
update 表名 set 字段=值,字段=值... [where]
* 删除数据
delete from 表名 [where]
truncate 表名;
区别:truncate删除整个表,创建一个新的表。delete一条一条删除。
* 查询语句
select * from 表名 [where]
* 聚集函数
count 获取数量
sum 求和
avg 求平均数
max 最大值
min 最小值
* 分组
group by having 条件
* 小的总结
s...f...w...g...h...o