第六章数据库

第六章 数据库(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 fromwhere 条件;    --删除数据
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表示插入的这个数据只能是正数

猜你喜欢

转载自www.cnblogs.com/parallel-Y/p/10925583.html