怎么上传网站源码,网站做百度口碑,包头住房和城乡建设厅网站,软件定制公司排名文章目录 1. 查看数据库1.1 语法 2. 创建数据库2.1 语法2.2 示例2.2.1 创建一个名为java114的数据库2.2.2 创建数据库java114#xff0c;如果数据库不存在则创建2.2.3 查看警告信息 3. 字符集编码和校验#xff08;排序#xff09;规则3.1 查看数据库支持的字符集编码3.2 查… 文章目录 1. 查看数据库1.1 语法 2. 创建数据库2.1 语法2.2 示例2.2.1 创建一个名为java114的数据库2.2.2 创建数据库java114如果数据库不存在则创建2.2.3 查看警告信息 3. 字符集编码和校验排序规则3.1 查看数据库支持的字符集编码3.2 查看数据库支持的排序规则3.3 不同的字符集与排序规则对数据库的影响3.4 查看系统默认字符集和排序规则 4. 查看创建语句4.1 语法4.2 示例 5. 修改数据库5.1 语法5.2 示例 6. 删除数据库6.1 语法6.2 示例6.3 注意事项 1. 查看数据库 1.1 语法
显示所有的数据库
show databases;databases是负数形式。大小写不敏感。在这里插入代码片分号是每天SQL语句的结尾。 一旦删除可能MySQL就启动不起来了因为MySQL启动之后会有一些数据在MySQL数据库里面比如设置的用户密码。
其中上图中的6 rows in set 表示六行结果集的意思其中set就是表示结果集的意思0.00 sec 表示的是当前SQL语句的执行时间0.00表示的是10ms毫秒之内。
2. 创建数据库 2.1 语法
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
create_option: [DEFAULT] {CHARACTER SET [] charset_name| COLLATE [] collation_name| ENCRYPTION [] {Y | N}
}• 大写部分表示关键字 • db_name表示自定义的数据库名 • {}⼤插号表⽰必须选 • | 表示任选其中⼀个 • []中括号表示是可选项 • CHARACTER SET指定数据库采⽤的字符集编码 • COLLATE指定数据库字符集的校验规则 • ENCRYPTION数据库是否加密MySQL 8.0.16中引⼊的新选项 2.2 示例 2.2.1 创建一个名为java114的数据库
mysql create database java114;
Query OK, 1 row affected (0.01 sec)2.2.2 创建数据库java114如果数据库不存在则创建
mysql create database if not exists java114;
Query OK, 1 row affected, 1 warning (0.00 sec)2.2.3 查看警告信息
mysql show warnings;
---------------------------------------------------------------
| Level | Code | Message |
---------------------------------------------------------------
| Note | 1007 | Cant create database java114; database exists |
---------------------------------------------------------------
1 row in set (0.00 sec)提示名为java114的数据库已存在。 不加if not exists如果数据库存在程序就会报错程序就会停下来。建议将这条语句加上防止整个SQL文件中的语句的运行。 3. 字符集编码和校验排序规则
字符集编码是为数据进行编码然后保存。
校验规则也叫排序规则指的是如何对数据进行排序。
3.1 查看数据库支持的字符集编码
1 show charset;• MySQL8.0默认的字符集编码是 utf8mb4 MySQL5.7默认的字符集是 latin1
英文和数字使用一个字节保存
中文和标点使用 不确定个字节保存。 3.2 查看数据库支持的排序规则
show collation;• MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci , MySQL5.7默认排序规则是utf8mb4_general_ci。 一条完整规范的建库语句create database if not exists java114 character set utf8mb4 collate utf8mb4_0900_ai_ci;
强烈建议在创建数据库的时候按照完整规范创建来确保当前数据库不管在哪一台服务器上它都是按照我规定的字符集和排序规则去创建一个新的数据库而不去依赖对方服务器的配置。
3.3 不同的字符集与排序规则对数据库的影响
• utf8mb4_0900_ai_ci 是MySQL8.0引⼊的新规则在⽼版本中不能识别 • utf8mb4 编码是对 Unicode 字符集的⼀种实现⽤1到4个字节表⽰⼀个字符可以表⽰世界上⼏乎所有的字符⽽且更节少空间 • 0900 是基于 UCA 9.0.0算法UCA是Unicode Collation Algorithm的缩写内部算法的编号。 • ai是Accent-insensitive的缩写表示口音不敏感 • ci是Case-insensitive的缩写表示大小写不敏感 • as是Accent-sensitive的缩写表示口音敏感 • cs是Case-sensitive的缩写表示大小写敏感 • bin表⽰⼆进制 在学习完排序之后可以通过⽰例观察不同排序规则对于⼤⼩写的影响 3.4 查看系统默认字符集和排序规则
# 查看默认字符集
mysql show variables like %character%;
-----------------------------------------------------------------------------------
| Variable_name | Value|
-----------------------------------------------------------------------------------
| character_set_client | gbk|
| character_set_connection | gbk|
| character_set_database | utf8mb4|
| character_set_filesystem | binary|
| character_set_results | gbk |
| character_set_server | utf8mb4|
| character_set_system | utf8mb3|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
-----------------------------------------------------------------------------------
8 rows in set, 1 warning (0.00 sec)# 查看系统默认排序规则
mysql show variables like %collation%;
---------------------------------------------------
| Variable_name | Value |
---------------------------------------------------
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
---------------------------------------------------
4 rows in set, 1 warning (0.00 sec)4. 查看创建语句 4.1 语法
查看创建数据库的SQL语句
1 show create database db_name;4.2 示例
mysql show create database java114;
---------------------------------------------------------------------------------------------------------------------------------------------
| Database | Create Database|
---------------------------------------------------------------------------------------------------------------------------------------------
| java114 | CREATE DATABASE java114 /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTIONN */ |
---------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)• /!40100 default… / 和/!80016 DEFAULT…/ 这个不是注释表⽰当前mysql版本⼤于4.01和8.0.16时分别执⾏对应的语句
5. 修改数据库 5.1 语法
ALTER {DATABASE | SCHEMA} [db_name]alter_option ...
alter_option: {[DEFAULT] CHARACTER SET [] charset_name| [DEFAULT] COLLATE [] collation_name| [DEFAULT] ENCRYPTION [] {Y | N}| READ ONLY [] {DEFAULT | 0 | 1}
}对数据库的修改主要是修改数据库的字符集校验规则。 小技巧选中要粘贴的内容–鼠标右键– 鼠标放到需要粘贴到的地方– 鼠标右键
5.2 示例
• 将test班级名的数据库字符集改成gbk
mysql alter database test001 character set gbk;
Query OK, 1 row affected (0.01 sec)
mysql show create database test001;
-----------------------------------------------------------------------------
-------------
| Database | Create Database -----------------------------------------------------------------------------
-------------
| java01 | CREATE DATABASE test001 /*!40100 DEFAULT CHARACTER SET gbk */
/*!80016 DEFAULT ENCRYPTIONN */ |
-----------------------------------------------------------------------------
-------------
1 row in set (0.00 sec)6. 删除数据库 6.1 语法
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;6.2 示例
mysql drop database testdb;
Query OK, 0 rows affected (0.04 sec)6.3 注意事项
• 删除数据库之后数据库对应的⽬录及⽬录中的所有⽂件也会被删除。 • 删除数据库之后使⽤show databases; 语句查看不到对应的数据库。 • 删除一个不存在的数据库会报错误后面的SQL语句会中断执行推荐加上if exists条件。 • 删除数据库是⼀个非常非常非常危险操作在公司中做项目千万不要删除数据库 如果公司中有需要让我们执行drop操作我们应该怎么做 把领导拉过来一起做这个事如果领导不来最起码要找一个同事。
在服务器一般是Linux系统上没有回收站删了就删了删除本身这个事并不是说删了就找不到了删除的过程只是在原来的数据位置做了覆盖操作。
如果说要恢复数据必须要用到专业的磁盘恢复工具如果恢复工具也 没有办法恢复那么就需要寄回厂商进行恢复。
数据库本身在运维的过程中也会定期的做一些备份操作。 全量备份增量备份所有数据