一、数据库基本知识
1.1 基础知识:
数据库的作用:
- 用于存储网页中接收到的数据
数据库:
- 就是用来存储数据的那个文件
常见的数据库管理软件:MySQL、Oracle、SqlServer、DB2...,通过使用数据库管理软件可以更高效的管理数据
1.2 关系型数据库
Oracle、DB2、MySQL、SqlServer、PostgreSQL
1.3 非关系型数据库
Redis、Memcached、MongoDB
1.4 如何理解数据库
- 数据库是一个目录
- 数据库目录下会存放一个/多个数据文件),每个数据文件都是一个表
- 每个数据文件中(也就是每个表中)会存储具体的数据
1.5 对数据进行的操作
- 增
- 删
- 改
- 查
二、MySQL基本概念
MySQL的用户
- 默认用户
- 自定义用户
库、表、数据
- 库:其实就是一个目录【文件夹】
- 表:其实就是目录中的一个文件
- 数据:其实就是文件中的内容
表示数据的时候,两个概念
- 记录
- 每一行就是一条记录
- 字段
- 每一列就是一个字段
使用MySQL的方法
- 第一种:用MySQL自带的客户端工具
- 优点:不需要安装额外的软件就可以使用,跟方便
- 缺点:只能通过命令阿里完成操作,操作过程有一定的门槛
- 第二种:用第三方客户端工具【Navicat】
- 优点:可以用图形化带的方式来操作,门槛更低
- 缺点:软件收费
2.1 MySQL用户管理基础
MySQL的用户格式:
- 用户名@主机地址
MySQL创建用户:
- 格式1:授权用户可以管理所有的库和表
- grant all on *.* to "用户名"@"主机名" identified by "密码"
- 格式2:授权用户仅仅可以管理指定的库中的全部表
- grant all on 库名.* to "用户名"@"主机名" identified by "密码"
- 格式3:授权用户可以管理指定的库中指定的表
- grant all on 库名.表名 "用户名"@"主机名" identified by "密码"
三、数据库基础操作
3.1 简介
对于数据库的操作有四类:增删改查
- 增:添加新的行
- 删:删除表中的行、表本身、库
- 改:修改(修改表中的数据、修改表)
- 查:查看库中的有哪些
对于数据库的操作对象
- 库
- 表
- 数据
3.2 操作库
操作1:查看系统中有哪些数据库
show databases;
操作2:创建数据库
create database 库名 character set 字符集 collate 排序规则;
操作3:删除数据库
drop database 库名
3.3 操作表
- 查看当前库中有哪些表【提前选定一个库】
- 新建表【提前选定一个库】
- 删除表【提前选定一个库】
1、选定数据库
use 库名
2、查看选定的数据库select database()
3、查看当前库中有哪些表show tables
4、查看一个已经存在的表的表结构
- 在查看表的时候,除了可以查看表名之外,也可以查看表结构
- 表结构:表中有几个字段,字段分别叫什么名字,字段有什么属性
- 查看表名:show tables
- 查看表结构:desc 表名
5、删除表drop table 表名
3.4 新建表
- 表中的每一列都是一个字段
- 每个字段只能存储一种类型的数据
- 数据类型
- int
- float
- char
- varchar
创建表的格式
create table 表明 (字段名 类型 属性..,字段名 类型 属性..,字段名 类型 属性..);
字段的修饰【属性】
- int:整形【整数类型】
- float:浮点型【小数类型】
- char:字符类型【无论存储多少个数据,占用内存空间大小固定】
- varchar:字符类型【内存空间会随着存储的数据变多,而变大】
- unsigned:表示这个数字是无符号数子【只能是正数】
- enum:枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】
- null:这个字段可以为空【这个字段可以不写入内容】
- not null:这个字段不可以为空【这个字段中必须得写数据,否则报错】
- primary key:主键,用来唯一标识表中的一条记录【主键的内容不能重复】
- auto_increment:设置主键自增
- default:设置字段的默认值
3.5 在表中插入数据
格式1:向表中的全部字段都添加数据
insert into 表名 values(值1,值2,值3)
格式2:向表中的指定的几个字段添加数据
insert into 表名(字段,字段,字段...) values(值1,值2,值3...)
3.6 查看表中的数据
方法1:鼠标在界面中查看
方法2:执行sql命令
select * from 表名;
3.7 删除表中的数据
关于删除
- drop database 库名 # 删除一个数据库
- drop table 表明名 # 删除一个表
- delete from 表名 # 删除表中的数据【全部数据】
- delete from 表名 where 条件 # 删除表中的数据【仅仅删除符合条件的数据】
- truncate 表名 # 删除表中的数据,而且会截断表【id会重新开始自增】
截断表
- 表的主键可能会自增,如删除表中的数据后,主键依然会在前面的基础继续自增
- 截断表:删除表中的数据,同时让重新从1开始自增
截断表的格式
truncate 表名
3.8 修改表中的数据
格式1:修改表中的全部记录
update 表名 set 字段 = 值
格式2:修改表中符合条件的记录
update 表名 set 字段 = 值 where 条件
3.9 修改数据库
- 修改名字
- 修改字符集
数据库的名字无法直接修改
1、修改数据库的名字可以先将原有的数据库导出
2、然后删除原来的库
3、然后创建一个新的数据库
4、最后将导出的数据导入到新数据库中
修改数据的字符集
alter database 库名 character set "字符集" collate "排序规则";
3.10修改表
增加字段
alter table 表名 add column 字段名 字段属性 afte 字段名;
删除字段
建议不要删除字段
alter table 表名 drop column 字段名
修改字段名
alter table 表名 change column 字段名 新字段名 属性约束;
修改字段的默认值
alter table 表名 modify column 字段名 属性 默认值
案例:将job的默认值设置“Student”
alter table tb001 modify column addr char(55) default 'Student'
修改字段顺序
alter table 表名 modify column 字段名 属性 位置
案例:将job字段放到name字段后面
alter table tb001 modify column job char(30) default "student" after name