MYSQL数据库操作
数据库
mysql -h [服务器ip] -P [服务器端口] -u [用户名] -p [密码];
不写-h默认连接本地127.0.0.1
不写-P连接默认端口3306
库的操作
创建数据库
create database [数据库名称] charset=[字符集] collate[校验规则];
字符集和校验规则是数据库管理系统中与文本数据的存储和排序有关的两个重要概念。
字符集是指在计算机中使用的字符编码标准,它规定了每个字符如何在计算机系统中表示。
校验规则定义了字符如何进行比较和排序。它主要用于在执行查询时决定文本数据如何进行排序和对比。每个字符集可以有多种校验规则,决定了字符串的对比顺序、大小写敏感性等。
如果创建数据库的时候未指定字符集和校验规则,database会使用默认设置。 一般情况下默认字符集都是utf8,校验规则都是utf8_general_ci。如果想修改默认设置看这篇文章修改MYSQL库的默认字符集和校验规则
查看默认字符集和校验规则:
show variables like 'character_set_database';//查看默认字符集
show variables like 'collaction_database';//查看默认校验规则
查看数据库支持的字符集和校验规则:
show charset; //查看字符集
show collation; //查看校验规则
创建数据库的本质就是在/var/lib/mysql目录下建立一个目录:
这个数据库没有添加内容但是有一个库的配置文件db.opt,里面包含了库的字符集和校验规则:
查看数据库
show databases;
修改数据库
对数据库的修改主要指的是修改数据库的字符集,校验规则。
alter database [库名字] charset=[字符集] collate [校验规则];
删除数据库
drop database [库名字]
表的操作
创建表
create table [表名] (
[第1列名] [数据类型],
[第2列名] [数据类型],
[第3列名] [数据类型]
) charset=[字符集] collate=[校验规则] engine=[存储引擎];
创建表后查看数据库结构:
user.frm:表结构 user.MYD:表数据 user.MYI:表索引
查看表
在对表进行操作的时候,需要先进入表所在的库:
use [库名];
如何确定自己所在的库:
select database();
进入数据库后查看表:
desc [表名];
修改表
增加记录:
insert into [表名] value(表项初始值...),(初始值)...;
查看表中记录:
select * from [表名];
为表增加新列:
alter table [表名] add [新列名] [数据类型] after [列名,新列会放到这个列之后];
//如果未使用after指定新列的位置,就会添加到最后一列
修改表名:
alter table [表名] rename to [新表名];
//to可以省略
修改表中列的属性:
alter table [表名] modify [列名] [新的类型];
替换表中的列:
alter table [表名] change [旧列名] [新列名] [新列名类型];
删除表中的列
alter table [表名] drop [列名];
删除表
drop table [表名];
备份与恢复
备份实际是把库或者表的创建的有效指令存储,当恢复的时候重新执行一遍指令。
备份
备份数据库:
mysqldump -P 3306 -u [用户名] -p [密码] -B [数据库名(可以多个)] > 数据库备份存储的文件路径
下面是sql文件的部分内容,就是创建数据库的指令:
备份表:
mysqldump -P 3306 -u [用户名] -p [密码] [数据库名] [表名(可以多个)] > 数据库备份存储的文件路径
恢复
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
mysql> source [备份文件路径];
先删除数据库再恢复:
恢复成功: