数据库
数据库
Database 简称DB 按照一定的数据结构来组织 存储和管理数据的仓库(存储货物的地方 我们叫仓库 存储数据的地方叫数据库)
SQL
SQL(Structured Query Language)结构化语言
是一种操作关系型数据库的编程语言 定义了一套操作关系型数据库统一SQL标准
关系型数据库
有多张相互连接的二维表组成的数据库 就像Excel一样有行和列组成的二维表
特点:
1 使用表存储数据 格式统一 便于维护
2 使用SQL语句操作 标准统一 使用方便
3 数据存储在磁盘中 安全
代表:
Mysql Oracle
MySQL概述
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS)它是最流行的开源数据库之一 MySQL由瑞典的MySQL AB公司开发后 后来被sun收购 最终被Oracle收购 MySQL以其开源免费 简单易用 高性能和可靠性而闻名
Oracle收费 性能稳定
数据库操作
连接数据库
打开navicate
点击连接
选择MySQL
填写数据库连接信息
确认连接(连接前也可以测试连接)
创建数据库
选择数据库
右键选择新建数据库
填写数据库名 字符集 排序规则
字符集:utf8mb4兼容性更好
排序规则:默认utf8mb4_0900_ai_ci。 0900 指的是 Unicode 校对算法版本 , ai 指的是口音不敏感;也就是说,排序时 e,è,é,ê 和 ë 之间没有区别; ci 表示不区分大小写。也就是说,排序时 p 和 P 之间没有区别。
创建表
数据类型
数字
tinyint 1 byte 小整数值
int或integer 4 bytes 整数值
float 4 bytes 单精度浮点数值
字符串
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
text 0-65 535 bytes 长文本数据
日期类型
date YYYY-MM-DD 日期值
time HH:MM:SS 时间值或持续时间
year YYYY 年份值
datetime YYYY-MM-DD HH:MM:SS 混合日期和时间值
timestamp YYYY-MM-DD HH:MM:SS 混合日期和时间值时间戳
char和varchar的区别
char不论你实际存储了多少的字符 都会占用设置的n个字符空间 比如手机号码 性别 身份证号等
varchar 它存储的长度并不固定 实际使用多少就占用多少
DATETIME和TIMESTAMP区别:
TIMESTAMP: 1970-01-01 00:00:01.000000’到 2038-01-19 03:14:07.999999。
DATETIME: 1000-01-01 00:00:00.000000到 9999-12-31 23:59:59.999999。
对于跨时区的业务,TIMESTAMP更为合适。
创建表
打开数据库 右键表–新建表
填写字段名 类型 长度等信息
删除表
直接将表删除
SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SQL语句可以使用空格/缩进来增强语句的可读性
- 注释
- 单行注释:-- 注释内容 或 # 注释内容
- 多行注释: /* 注释内容 */
表操作
添加数据(INSERT)
给指定字段添加数据
insert into 表名 (字段1,字段2…)values(值1,值2…);
给全部字段添加数据
insert into 表名 values (值1,值2…);
批量添加数据
insert into 表名(字段1,字段2…)values(值1,值2…),(值1,值2…),(值1,值2…);
修改数据(UPDATE)
update 表名 set 字段1=值1,字段2=值2,… [where 条件]
修改语句的条件可以有 也可以没有 如果没有条件则会修改整张表的所有数据
删除数据(DELETE)
delete from 表名 [where 条件]
delete 语句的条件可以有 也可以么有 如果没有条件则会删除整张表的所有数据
条件(where)
sql语句里 where后面跟条件
运算符
= != <> < <= > >=
关键字
between…and in(set) is null and or not