MySQL——操作

一.库的操作

1.基本操作

创建数据库

create database 数据库名称;

查看数据库

show databases;

删除数据库

drop database 数据库名称;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

所以不要随意删除数据库

使用数据库

use 数据库名称;

查看当前所处数据库

select database();

修改数据库

alter database 数据库名称 新字符集 新校验规则;

对数据库的修改主要指的是修改数据库的字符集,校验规则。

查看创建数据库的详细信息

show create database 库名称;

能够查看当时创建该数据库时所编写的语句的信息。


2.数据库编码

创建数据库时,有两个编码集:

  • 数据库编码集:数据库未来存储的数据。
  • 数据库校验集:支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式。

数据库无论对数据采用任何操作,都必须保证操作和编码必须是编码一致的。

查看系统默认字符集以及校验规则

show variables like 'character_set_database';

show variables like 'collation_database' ;
查看数据库支持的字符集

show charset;

字符集主要是控制用什么语言。比如utf8就可以使用中文。

查看数据库支持的字符集校验规则

show collation;

创建一个使用utf字符集,并带校对规则的数据库

create database db3 charset=utf8 collate utf8_general_ci;

不同的校验码规则,会影响数据库的数据读取,例如:

校验规则使用utf8_ general_ ci,不会区分数据的大小写
校验规则使用utf8_ bin,会区分数据的 大小写


3.备份与恢复

备份

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

这里的路径,最终要是一个以".sql"为后缀的文件

打开 .sql 文件,会发现备份实际上把整个创建数据库,建表,导入数据的语句都装载这个文件中。

还原

source****数据库备份存储的文件路径 ;

还原要在MySQL服务中操作。

备份的不是整个数据库,而是其中的一张表

mysqldump -u root -p 数据库名 表名1 表名2 > 数据库备份存储的文件路径

同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库备份存储的文件路径

如果备份一个数据库时,没有带上**-B** 参数 ,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。


4.查看库连接状态

show processlist

可以查看当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


二.表的操作

1.基本操作

创建表

create table 表名称(

列名称 列类型 comment '列的描述',

...

)character set 字符集 collate 校验规则 engine 存储引擎;

列名可以有很多个,字符集和校验规则如果没有指定,则保持与所在数据库一致。comment也可以省略。

查看表列表

show tables;

查看表结构

desc 表名称;

查看创建表的详细信息

show create table 表名称;

能够查看当时创建表的具体语句信息。

表插入数据

insert into 表名称 (列名称...) values (列数据...);

可以仅给指定的列添加数据,如果不指定特定的列,则默认表示为所有的列添加数据。

修改表名称

alter table 表名称 rename to 新名称;

删除表

drop table 表名称;

表添加新列

alter table 表名称 add 列名 列类型 comment '列的描述' after 列名称;

after表示要将新列添加在那一列的后边,如果不使用,则默认添加为最后一列。

修改列类型

alter table 表名称 modify 列名称 新类型;

删除列

alter table 表名称 drop 列名称;

修改列名称

alter table 表名称 change 列原名称 列新名称 列类型;

修改列名称需要给出完整的列定义。

相关推荐
LUCIAZZZ3 小时前
简单的SQL语句的快速复习
java·数据库·sql
Elastic 中国社区官方博客4 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦5 小时前
Redis 基础命令
java·数据库·redis
fajianchen5 小时前
MySQL 索引存储结构
数据库·mysql
想做富婆5 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
xianwu5437 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql
Leven1995277 小时前
Flink (十三) :Table API 与 DataStream API 的转换 (一)
数据库·sql·flink
geovindu7 小时前
neo4j-community-5.26.0 create new database
数据库·mysql·neo4j
MyY_DO8 小时前
maven mysql jdk nvm node npm 环境安装
java·mysql·maven
因特麦克斯8 小时前
索引的底层数据结构、B+树的结构、为什么InnoDB使用B+树而不是B树呢
数据库