数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎! )
数据库管理系统(DBMS) :实现对数据的有效组织,管理和存取的系统软件
mysgl
数据库是一个系统, 是一个人机系统,硬件, gs,数据库, DBMS和数据库的用户共同组成。
用户是通过DBMS(各种数据库软件)来对数据库进行操作。
数据库的分类:
mysgl: 关系型数据库。
redis: 非关系型数据库
Es: 索引型数据库
关系型数据库:存储数据的结构是一个二 维表格
表:行列
行:记录,用来描述一个对象信息
列:字段,用来描述对象的一个属性。
关系型数据库: mysgl(中小类型的数据并发请求) oracle(大型数据)
多表关联最多可以关联几张表?3张表
非关系,型数据库(redis):保存的不是一张表格,Key--->value键值对来保存数据,ky32=12
缓存的是数据库
MySQL的存储引擎: 版本5.5之前默认引擎是MYISAM,不支持事务和外键的存储引擎,适用读 写
5.6之后:默认的存储引擎是innodb,可以支持事务,外键,行基锁定的存储引擎,支持高并发行性能的应用
事务:在数据库当中,一个或者多个操作组成的数据操作的序列。
这些操作要么全部成功,失败一个就全部不执行。确保数据一致性和完整性。
数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎! )
数据库管理系统(DBMS) :实现对数据的有效组织,管理和存取的系统软件
事务的特点:
最小单位原子性是数据库最小工作单元,要么全部执行成功,要么全部不执行,只要有一个操作时间,整个执行的序列都会被回滚,完成的操作也会被撤销
一致性: 事务执行前后,数据库的完整性约束不能被破坏。只有在满足所有的约束条件情况下,事务才能被提交。
隔离性: 事务的执行是相互隔离。一个事物的执行不能受到其他执行事务的干扰。并发事务之间互相隔离。防止数据不一致的情况发生。
持久性: 事务一旦提交,他所做的所有修改都会保存在数据库中,即使系统崩溃,数据也不丢失,
特点总结:确保数库始终处于一致性的状态,数据的完整性
Mysql 的名词:
1、数据库: database
2、表: table 行: row 列: column
3 索引: index
4视图: view
5存储过程: procedure
6存储函数:function
7触发器: trigger
8用户: user
9权限: privilege
mysgl的语句的规范:
在数据库系统中,sgl不区分大小写,但是建议大写。语句不区分,但是表名是严格区分大小写。
sgl语句可以单行也可以多行书写,但是默认都以;结尾。
关键词不能跨行或者简写。
子语句通常位于度路航,便于编辑,提高可读性。
数据库的命名规则:
必须以字母开头,后面可以包含数据,特殊字符: #_ $
不要使用mysgl的保留字: table select
数据库名 表名 用户名严格区分大小写
数据库的字符类型:
Int : 4个字节,用来存储整数
Char: 固定长度的字符串,用来存储固定长度的字符串
Varchar: 可变长度的字符类型,存储可变长度的字符串(根据类型的长度写)
Float(m,d) : 单精度浮点。存储浮点数,m表示总位数,d表示小数位
double(m,d): 双精度浮点数,存储浮点数,M也是总位数, d,表示小数位。
text: 用于存储大文本数据,文档,或者长字符串。
image: 二进制存储图像,图片,多媒体。
Decimal (5,2): 用于存储固定精度的浮点数数,其中5表示总位数,2表示小数位
Data: 存储日期:yyyy-mm-dd
Datatime: 存储日志 yyyy-mm-dd hh:mm:ss
Timestamp:和datetime格式一致,可以自动的更新为当前的时间戳
Char无论是否定义了值,都会占用固定长度的字节大小,
varchar保存时长度是14 实际长度是5,就占用5个,加一个隐藏符算6个
都是字符串,一定要用单引号引起来
varchar比'char节省磁盘空间
但是varchaer读写速度比char慢
sql语句的分类
DDL :数据定义语言,用于创建数据的对象,创建库 表 索引
CREATE:创建
DROP:删除库 和表
ALTER:修改
DML:数据操作语言,对表中的数据进行管理
Select
Update 更新修改数据
Insert 添加
Delete 删除对表进行的操作
DQL语言:查询数据库语言
Select
DCL: 数据控制语言,设置或者更改数据库用户或者用户的权限
GRANT 赋予权限
REVOKE 取消权限
TCL:事务控制语句,管理数据库当中的事务
Commit 确实提交事务
ROLLBACK:事务提交之后无法回滚
Savepoint 保存点,可以回滚
#查看当前数据库的端口
#查看表的结构
#查询数据库
#使用mysql数据库
#查看当前数据库下有哪些表呢
#查看表的结构
#纵向查看表的结构
#新建数据库
#查看表
#删除数据库
#创建表Ky32 以下几个列id 是整数型4位 指定属性不能为空,名字指定长度10属性不能为空,分数指定小数5位小数点后2位,密码长度48位,设定主键为id 不能为空和不能重复
create table ky32 (id int(4) not null,
name varchar(10) not null,
sroce decimal(5,2),
passwd char(48),
primary key(id));
Nul和空格的区别
null什么都没有,没有任何的内容描述
#desc 查看表的结构
#插入到Ky32韩文升,密码为空(添加字符串是要引起来)
#详细查询表的结构
#清空表名
#插入到ky32 分数 姓名 密码
#插入数据韩文升 分数 密码456(对列)
#加密处理
#update指定行列的数据进行修改 where指定唯一值(防止重复)
#delete删除表信息指定id 删除
#查询 指定id 进行查询
#查询第4行到7行(加一行)
#查询前2行 只跟一个数字表示前几行
#第二行开始走4个
#指定分数查询
#去重查询
#去重多条件查询
.#多条件查询
#修改表的名称
#添加表32 生日一列
#更新生日
#修改删除生日这列
#修改数据的库的类型
Alter table ky32 modif