数据库
2020-11-09 20:31:12 37 举报
AI智能生成
数据库 求赞
作者其他创作
大纲/内容
数据库
什么是数据库
数据库分类
关系型数据库
redis
mongodb
非关系型数据库
MySql
免费小型数据库
MySQL的内部存储结构
一个实体类对应一张表.表中可以有多条 记录的.
一般情况下:一个类的实例对应一条记录.
SqlSever
收费的中型数据库
Oracle
收费的大型数据库
DB2
SQL的概述
概述
SQL:(Structured Query Language)结构化查询语言.定义了操作所有关系型数据库的一种规则。
分类
DDL
数据定义语言。用来操作数据库,表,列等。
DML
数据处理语言。用来对数据库中表的数据进行增删改。
DQL
数据查询语言。用来查询数据库中表的记录(数据)。
DCL
数据控制语言。用来定义数据库的访问权限和安全级别,及创建用户。
SQL操作数据库
创建数据库
create database 数据库名 [character set 字符集 collate 字符集校对规则];
查看数据库
查看所有数据库
show databases;
查看指定数据库的创建细节
show create database 数据库名;
删除数据库
drop database 数据库名
切换数据库
use 数据库名;
显示正在使用的数据库
select database()
MySQL的常用类型
CHAR/VARCHAR
TINYINT
SMALLINT
INT
BIGINT
FLOAT
DOUBLE
BIT
DATE/TIME/DATETIME/TIMETAMP
DDL对表操作
创建表
查看表
查看数据库中有哪些表
show tables
查看表结构
desc 表名;
删除表
drop table 表名
修改表
添加字段
alter table 表名 add 字段名 类型(长度) 约束;
修改字段类型
alter table 表名 modify 字段名 类型(长度) 约束;
删除字段
alter table 表名 drop 字段名;
修改字段名
alter table 表名 change 旧的字段名 新的字段名 类型(长度) 约束;
修改表名
rename table 旧表名 to 新表名;
修改表的字符集
alter table 表名 character set 字符集;
DML常用操作
添加记录
添加部分字段
添加全部字段
注意
修改记录
直接覆盖值
在原有基础上修改值
删除记录
delete方式
delete from 表名 where 条件;
truncate方式
truncate table 表名;
delete方式和truncate方式的区别
支持事务管理
不支持事务管理
DQL语句
记录的基本查询
distinct:去掉查询记录中重复的值
*:所有字段的值都返回
**查询记录之执行运算及起别名**
select 表达式 from 表;
查询记录之条件过滤**
*查询记录之where后的运算符**
**查询记录之排序**
聚集函数
语法
count():统计表中记录的个数.
sum():求和
avg():求平均值
max():求最大值
min:求最小值
where不能和聚集函数一起用
分组统计
select * from 表 where 条件 group by 列名;
注意事项
having分组后的条件过滤.having后面可以跟聚集函数.
分页查询
账户管理
--查询账户 use mysql; select * from user; --添加账户 create user '账户'@'主机' identified by '密码'; --删除账户 drop user '账户'@'主机'; --修改密码 set password for '账户'@'主名' = password('新密码');
添加账户、删除账户、修改密码需要在\"root\"账户下才能进行!
授权
约束
对表中的数据进行限定,保证数据的正确性、有效性、完整性。
PRIMARY KEY
主键约束
AUTO_INCREMENT
主键自增约束
UNIQUE
唯一约束
NOT NULL
非空约束
FOREIGN KEY
外键约束
主键
非空和唯一两个功能
一张表只能有一个列作为主键
主键一般用于表中数据的唯一标识
如果主键字段是一个整数类型,那么就可以设置主键自增约束
使用唯一约束的字段的值不可重复
使用唯一约束的字段的值不可为null
多表连接
多表连接之内连接查询
获取两张表的交集
显式内连接
select * from 表A inner join 表B on 条件;
隐式内连接
多表连接之外连接查询
获取的结果是两张表的交集和全部
左外连接:两张表的交集和左边表的全部
select * from 表A left outer join 表B on 条件;
子主题
右外连接:两张表的交集和右边表的全部
select * from 表A right outer join 表B on 条件;
多表查询之union
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
union
求两个select结果的并集,会去重
select * from 表1 union select * from 表2;
union all
求两个select结果的并集,不会去重
select * from 表1 union all select * from 表2;
多表查询之子查询
概念
指的是一条语句的查询结果需要依赖另一条语句的查询结果
基本使用
select * from 表A where 条件 > any(sql查询语句);
any:任意一个
all:所有
0 条评论
回复 删除
下一页