Mysql数据库基础及操作数据库
本节内容
- 什么是数据库
- Mysql的基本使用
- 连接到mysql
- mysql服务关闭与启动
- 数据库服务器、数据库和表的关系
- 使用案例
- SQL分类
- 创建数据库
- 字符集和校验规则
- 查看系统默认字符集和校验规则
- 查看数据库支持的字符集
- 查看数据库支持的字符集校验规则
- 校验规则对数据库的影响
- 操纵数据库
- 查看数据库
- 显示数据库创建语句
- 修改数据库
- 数据库删除
- 备份和恢复数据库
- 备份
- 还原
- 备份注意事项
- 查看当前MySQL数据库的连接情况
数据库
数据库:高效的存储和处理数据的介质(介质有两种:磁盘和内存)
Mysql的基本使用
一、链接到mysql:
mysql [-h 主机] -u 用户 -p
说明:如果没有写 -h 127.0.0.1 默认是连接本地
二、mysql 服务器关闭和启动
关闭:service mysqld stop
启动:service mysqld start
三、数据库服务器、数据库和表的关系:
- 安装数据库服务器,就是在机器上安装一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
- 为保存应用中实体的数据,一般会在数据库中创建多个表,已保存程序中实体的数据。
使用案例
一、创建数据库
create database test;
二、使用数据库
use test;
三、创建数据库表
create table student(id int,name varchar(32),gender varchar(2));
四、表中插入数据
insert into student (id,name,gender) values (001,'小红','女');
insert into strdent (id,name,gender) vamues (002,'小明','男');
五、查询表中数据
select * from student;
SQL分类
- DDL数据定义语言,用来维护存储数据的结构。
代表指令:create(创建)、drop(删除)、alter(备份) - DML数据操纵语言,用来对数据进行操作。
代表指令:insert(插入)、delete(删除)、update(更新)
DML中又单独分了一个DQL,数据查询语句。
代表指令:select(选择) - DCL数据控制语言,主要负责权限管理和事务。
代表指令:grant(分配权限)、revoke(回收权限)、commit(提交事务)
操作数据库
创建数据库
create DATABASE [IF NOT EXISTS] db_name [CHARACTER SET] [COLLATE]
- [IF NOT EXISTS] 检测当前mysql中是否有重名数据库,建议加上;
- [CHARACTER SET] 设置数据库、数据表字符集
- [COLLATE] 设置数据库校验规则
字符集和校验规则
一、 查看系统默认的字符集和校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
二、 查看数据库支持的字符集
show charset;
三、 查看数据库支持的字符集校验规则
show collation;
四、 校验规则对数据库的影响
区分大小写
- utf8_general_ci (默认校验规则):不区分大小写
- utf8_bin : 区分大小写
影响排序
- utf8_general_ci :按照字母顺序排序(order by)
- utf8_bin :按照 ASCII 排序
操纵数据库
一、查看当前存在的数据库
show databases;
二、查看数据库创建语句
show create database 数据库名;(或\G)
三、修改数据库(alter)
修改字符集 :
alter database 数据库名 charset=gbk;
修改校验规则:
alter database 数据库名 collate utf8_bin;
四、删库操作:
drop database 数据库名;
执行删除之后说明:
- 数据库内部看不到对应的数据库;
- 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。
五、备份与恢复数据库
备份(OS控制台):
mysqldump -u root -p -B 数据库名 > 存储数据库的文件路径(\\绝对路径)
恢复(mysql 控制台):
source 文件路径;
备份和恢复数据库中单个或者多个表
备份:
mysqldump -u root -p -B 数据库名 表名1 表名2 … > 存储数据库的文件路径恢复(mysql 控制台):
source 文件路径;
查看当前数据库链接:
show processlist;
查看当前哪些用户在登录数据库以及使用的库