第六章 数据库(Mysql)
1. 基本概念
很多功能如果只是通过文件操作来改变数据是非常繁琐的,对于多台机器或者多个进程操作一份数据会存在安全和并发的问题
数据库是一种C/S架构的操作数据文件的一个管理软件能够解决并发问题,更加简单快速的完成数据的增删改查,拥有容错和高可用机制
数据库管理系统(DBMS)专门用来管理数据文件,帮助用户更简洁的操作数据的软件
2. 数据库的类型
关系型数据库:关联性强,一个部分信息可以获取相关全部信息 如:mysql、sql server(收费但是严谨安全性高)、oracle(开源)
非关系型数据:类似根据字典中的key和value来运行,可通过key来找calue,不能通过value找key 如:redis、mongodb
3. 数据库的操作
概念:DDL数据库定义语言(创建库、创建表)
DML数据库操作语言(存数据、删数据、改数据、查数据)
DCL数据库控制权限
3.1 mysql对用户操作
select user() --查看当前用户 set password = password(‘xxx‘) --修改密码 create user‘用户名‘@‘IP字段‘identified by‘密码‘; --创建一个用户属于哪个IP段 show grants for ‘用户’@‘IP段’; --查看当前用户有哪些权限 grant all on *.* to ‘用户‘@‘IP段‘; --所有的(all)权限所有的库(*)所有的表(.*)给那个用户的IP段 flush privileges; --给完权限刷新后生效 grant all on *.* to ‘用户‘@‘%‘identified by ‘密码‘ --授权并创建用户,同样刷新后生效
3.2 mysql库操作
create database 数据库名; --创建库 show databases; --查看当前有多少个数据库 select database(); --查看当前使用的数据库 use 数据库名; --切换到这个数据库下 drop database 数据库名; --删除库
3.3 mysql表操作
create table 表名字(字段1 字段1类型,字段2 字段2类型) --创建库表 show tables; --查案当前有多少表 rename 旧名字 to 新名字; --更改表名字 drop table 表名字; --删除表 desc 表名字; show create table 表名字; --查看表结构 show varables like ‘%需要查的东西%‘ --查看配置项
3.4 表的存储方式
1. MyISAM 5.5以下默认存储方式:存储的文件个数有表结构、表中的数据、索引
2. InnoDB 5.6以上的默认存储方式:存储的文件个数有表结构、表中的数据
支持行级锁、表级锁:row-level locking
支持事务:transactions
支持外键:froeign key
3. MEMORY 内存:存储的文件个数:表结构、增删改查很快、但是重启数据消失、容量很小
3.5 mysql数据操作
insert into 表名(字段名,字段名) values(值1,值2) --创建数据,所有的数据值必须和字段名一一对应 delete from 表 where 条件; --删除数据 uodate 表 set 字段=新值 where 条件; --修改数据 select * from 表名; --查看表中所有的数据 select 字段1,字段2 from 表名; --只查看表中的1和2字段 select distinct 字段1,字段2 from 表; --按照查出来的字段去重复 select 字段*12 from 表; --把字段的数值乘12输出,可加减乘除
4. 数据类型
4.1 字符串类型
char(字节数):浪费空间,但存储效率相对高,长度变化小
varchar(字节数):节省空间、存取效率相对低
如:create table t1(name char(5),job varchar(10));
4.2 数值类型
int(位数):整型,位数表示只显示几位,不影响输入几位数
如:create table t2(id int(3),uid int (5) unsigned) 注:unsigned表示插入的这个数据只能是正数
原文地址:https://www.cnblogs.com/parallel-Y/p/10925583.html