本帖最后由 小石姐姐 于 2018-5-11 09:35 编辑
MySQL数据库
```html
数据库--->表--->表中数据(CRUD三个级别)
```
#查询表中记录(重点)
```
语法:select [distinct] *|列名 from 表 [条件]
```
##表中记录的CRUD
```
删除语法:delete from 表名 [where 条件];
删除所有记录:delete from user;
删除某一条:delete from user where id = 2;
修改语法:update 表名 set 列名=值,列名=值 [where 条件];
添加:向表中插入某些列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)
向表中插入所有列:insert into 表名 values (值1,值2,值3…);
```
###什么是数据库
数据库就是一个文件系统,通过标准的SQL语句获取数据.
###什么是关系型数据库
关系型数据库存放的是实体之间的关系
###SQL的分类
DDL:数据定义语言
create,drop,alter
DCL:数据控制语言
grant,if...
DML:数据操纵语言
insert,update,delete
DQL:数据查询语言
select
##使用SQL
###数据库
```html
创建
create database 数据库名称 [character set 字符集 collate 字符集校对规则;]
Java中的类型 MySQL中的类型
byte/short/int/long tinyint(tiny<微小的>)/smallint/int/bigint
float float
double double
boolean bit(一般用1和0来表示true和false)
char/String char 和varchar类型
Date date/time/datetime/timestamp
file BLOB(mp3文件)/TEXT(代表的是文件路径组成的字符串)
char(固定长度)
varchar(可变长度)
timestamp如果没有向这个字段传入具体的值,那么返回的是**当前系统的时间
```
##约束
主键约束:primary key 主键约束默认唯一非空 auto_increment(自动增加)
唯一约束: unique
非空约束: not null
###对表的操作
```html
添加列
alter table 表单名 add 字段名 数据类型(长度) 约束
修改列类型
alter table 表单名 modify(修改) 列名 数据类型(长度) 约束
删除列
alter table 表单名 drop 列名;
修改列名称
alter table 表单名 change 旧列名 新列名 类型(长度) 约束
修表名
rename table 表单名 to 新的表名
修改字符集
alter table 表名 character set 字符集
```
```
创建
create database 数据库名称;
查询(重点)
show databases;
show create database 数据库名称;
删除
drop database 数据库名称;
修改
select database 数据库名称;
alter database 数据库名称 character set utf8; 修该数据库字符集格式
切换
use 数据库名称;
select database(); 查看当前操作的数据库
```
##顺序
```
where的子句后面不能跟着聚合函数。如果现在使用带有聚合函数的条件过滤(分组后条件过滤)需要使用一个关键字having
select product,sum(price) from orderitem group by product having sum(price) > 5000;
总结:
S(select)… F(from)…W(where)…G(group by)…H(having)…O(order by);
```
|
|