数据库简介
1.1简介
数据库:长期保存、按规则组织、可被各种用户或应用共享的数据集合
数据库管理系统:操作和管理数据库的大型软件:建立、使用和维护数据库;保证数据安全;
1.2常见的数据库管理系统
- Oracle:
甲骨文关系型数据库管理系统 - MySQL:
关系型数据库管理系统、WEB 应用方面,MySQL是最好的 RDBMS - DB2:
多进程多线索体系结构 - Microsoft SQL Server:
关系型数据库管理系统、集成度高
1.3三大范式
第一范式
无重复的列
第二范式(2NF)
属性完全依赖于主键[消除部分子函数依赖];第二范式要求数据库中的每个实例或行必须是可以被唯一的区分
第三范式(3NF)
属性不依赖于其它非主属性[消除传递依赖];第三范式要求一个数据库中不包含已在其他表中已包含的非主关键字信息。
区分2、3关键点
2NF:非主键是否完全依赖于主键
3NF:非主键是直接依赖于主键还是直接依赖于非主键列
SQL语句
概述
SQL:结构化查询语言
- 每个厂商都在标准的SQL上做了扩展
- Cread、Read、Update、Delete 被称为CRUD操作
SQL语句分类
DDL操作数据库
1.1数据库操作语句
- CREATE DATABASE 数据库名
新建数据库 - SHOW DATABASES
查看所有数据库 - ALTER TABLE 数据库名 CHARACTER SET 编码方式
更改数据库编码方式 - DROP DATABASE 数据库名
删除数据库 - SELECT DATABASE();
查看是否连接了数据库 - USE DATABASE 数据库名
连接数据库
1.2表操作
- CREATE TABLE 表名{
列名1 数据类型 [约束],
列名2 数据类型 [约束],
列名n 数据类型 [约束]
};
创建表
常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为
999.99;默认支持四舍五入
char:固定长度字符串类型; char(10) 'aaa ’ 占10位
varchar:可变长度字符串类型; varchar(10) ‘aaa’ 占3位
text:字符串类型,比如小说信息;
blob:字节类型,保存文件信息(视频,音频,图片);
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss - SHOW TABLES
查看所有表 - DESC 表明
查看指定表内容 - DROP TABLE 表名
删除某表 - ALTER TABLE 表名 ADD 新列名 新的数据类型
添加新的列 - ALTER TABLE 表名 MODIFY/CHANGE 旧列名 新列名 新的数据类型;
更改已有的列 - ALTER TABLE 表名 DROP 列名
删除列 - ALTER TABLE 旧表名 RENAME 新表名
更改表名 - SHOW CREATE TABLE 表名
查看表的创建细节 - ALTER TABLE 表名 CHARACTER SET 编码方式
更改编码方式
DML数据库操作语言
DML是对表中的 数据 进行 增删改 的操作
特性
- 字符换类型 和 日期类型 需要用单引号括起来
- 空值:null
插入操作 INSERT
INSERT INTO 表名(列名) VALUES(数值);
- 多列名、多赋值之间用 逗号 隔开
- 列名 和 值 一一对应
- 非数值的列值加 单引号
- 省略列名 默认按顺序执行、必须给所有列赋值
- 添加多行 VALUES 用 逗号 隔开
- 运算符:
1.算术运算符
+、-、*、/、%
2.赋值运算符
:=
3.逻辑运算符
and、or、not
4.关系运算符
<> >= != <>
修改操作 UPDATE
UPADATE 表名 SET 列名1=列值1,列名2=列值2…WHERE 列名=值