李优秀 发表于 2024-9-8 08:23:01

MySQL之对数据库和表的操作

目录
一、创建数据库
二、字符集和校验规则
1、查察体系默认字符集
2、查察体系默认的校验规则
3、查察数据库支持的字符集
4、查察数据库支持的字符集校验规则
5、校验规则对数据库的影响
三、操作数据库
1、查察数据库
2、查察创建语句
​编辑
 3、修改数据库
4、数据库的删除
5、备份和恢复
数据库的备份和恢复
某个数据库中某张表的备份
同时备份多个数据库
6、查察目前地点数据库
7、查察数据库毗连情况
四、对表的操作
1、创建表
2、查察表结构
3、修改表
4、删除表

一、创建数据库

语法:
CREATE DATABASE db_name ...]
create_specification:
CHARACTER SET charset_name
COLLATE collation_name 说明:
1、大写的表示关键字。
2、[]是可选项。if not exists 表示如果数据库不存在就创建,如果存在,就不做任何事。
3、CHARACTER SET:指定数据库接纳的字符集。
4、COLLATE:指定数据库字符集的校验规则。
演示:
https://i-blog.csdnimg.cn/direct/5dd2b945309b4b5989d6adae292e21e3.png
创建数据库时,也可以开始就设置好数据库的字符集和校验规则。
create database db3 charset=utf8 collate utf8_general_ci; 二、字符集和校验规则

   什么是字符集和校验规则?
创建数据库的时间,一般有两个编码集:
数据库编码集:数据库未来存储数据的编码方式。
数据库校验集:支持数据库进行字段比较利用的编码,本质也是一种读取数据库中数据接纳的编码格式。
数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的。存数据的时间用什么编码,取的时间就得用什么对应的编码去取。比如说,一本书是用中文写的,那么就必须要让会中文的人来读才气够读懂内容。
1、查察体系默认字符集

show variables like 'character_set_database'; https://i-blog.csdnimg.cn/direct/f18ae2eff0d14773b0142ef89adbf949.png
2、查察体系默认的校验规则

show variables like 'collation_database';  https://i-blog.csdnimg.cn/direct/a6ba11d17b3342749e02e88870a0d814.png
3、查察数据库支持的字符集

字符集重要是控制用什么语言。比如utf8就可以利用中文。
show charset;  https://i-blog.csdnimg.cn/direct/b5c6d292dc574946b93221278994f90c.png
4、查察数据库支持的字符集校验规则

show collation;  https://i-blog.csdnimg.cn/direct/3300d46adb3448dd8bd90dc9f2cc42c7.png
5、校验规则对数据库的影响

~ 创建一个数据库,校验规则利用utf8_ general_ ci。
create database if not exists test1 collate utf8_general_ci; 然后我们查察一下其校验规则: 
https://i-blog.csdnimg.cn/direct/57ab938bd5374b7a9584063589476e9c.png
接着在test1数据库中创建一张表:
create table person(name varchar(20));  再插入一些数据,之后查察插入的效果:
https://i-blog.csdnimg.cn/direct/a5a465e8ee49444d93724029af6e1955.png
利用下面的语句进行查询:
select * from person where name='a'; https://i-blog.csdnimg.cn/direct/b66937e223c549eb8d067f50afecc717.png
~ 创建一个数据库,校验规则利用utf8_ bin:
create database if not exists test2 collate utf8_bin; https://i-blog.csdnimg.cn/direct/90d4ca974b8e4643a2054a55d4c0176d.png
利用下面的语句进行查询:
select * from person where name='a'; https://i-blog.csdnimg.cn/direct/b292d29bcdd844fbbff13b6d42af9de5.png
 从上面的效果中,我们可以发现,在select查询中,utf8_ general_ ci是不会区分大小写的,而utf8_ bin是会区分大小写的。
再来看看下面test2(利用utf8_ bin校验规则)数据库中的我们根据name的排序效果:由于其区分大小写且小写字母的ascii码大于大写字母,所以会得到下面的效果。
select * from person order by name; https://i-blog.csdnimg.cn/direct/877bd844a2ec4b1dbd9e65ed3821be87.png
再来看看下面test1(利用utf8_ general_ ci校验规则)数据库中的我们根据name的排序效果:
https://i-blog.csdnimg.cn/direct/9fd83a39dc664bca864a4abbc61def7f.png
由于utf8_ general_ ci不会区分大小写,所以a和A就相称于同一个字符,会被放在一起。
三、操作数据库

1、查察数据库

show databases; 作用:可以查察当前MySQL客户端下已经存在的所有数据库。
https://i-blog.csdnimg.cn/direct/4389032c9ff94b22ad65582d3adc359b.png
2、查察创建语句

show create database test1; https://i-blog.csdnimg.cn/direct/fbc6d61f0ea040ffb9e78b13073d2054.png

 3、修改数据库

一般来说,我们对数据库的修改重要是修改数据库的字符集和校验规则。
用法:
ALTER DATABASE db_name
,...

alter_spacification:
        CHARACTER SET charset_name
        COLLATE collation_name https://i-blog.csdnimg.cn/direct/1c3810e0e8254e8f9c5c7dd67f4bddcc.png
4、数据库的删除

用法:
DROP DATABASE db_name; 演示: 
https://i-blog.csdnimg.cn/direct/f41304e90d2c4f43831f675df32e6ca4.png
注:对应的数据库文件夹被删除,里面的数据表全部被删。特殊注意的是,除非特殊情况,不要随意删除数据库。
5、备份和恢复

数据库的备份和恢复

备份,语法:在Linux命令行下执行
mysqldump -P 端口号 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径 https://i-blog.csdnimg.cn/direct/4257dc4e675e466699f7ad59201a2f09.png
恢复,语法:在登岸mysql客户端,执行下面语句:
source 备份文件所在路径; 先删除test2数据库:
https://i-blog.csdnimg.cn/direct/99566a23ae224060a8ee492c5ae4dd4c.png
然后从备份恢复数据库: 
https://i-blog.csdnimg.cn/direct/ae7352301ee24a2194843b3c44c9c9d5.png
 https://i-blog.csdnimg.cn/direct/309d9b101472462c8abac028b58392dc.png
某个数据库中某张表的备份

如果备份的不是整个数据库,而是其中的一张表:
mysqldump -u root -p 数据库名 表名1 表名2 > 数据库被备份后所在路径 同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径 注:如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建一个数据库,然后利用数据库,再利用source来还原。
6、查察目前地点数据库

我们可以利用下面的语句查察目前地点的数据库。
select database(); https://i-blog.csdnimg.cn/direct/b26161a8df9048db8ecb199ddae06284.png
7、查察数据库毗连情况

show processlist; 利用该语句可以查察当前有多少个客户端毗连这个服务器。
https://i-blog.csdnimg.cn/direct/536f3fe3f0c24efe822c22586b2184f3.png
四、对表的操作

1、创建表

语法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎; 说明:
field:表示列名。
datatype:表示列的类型。
character set 字符集:如果没有指定字符集,则以地点数据库的默认字符集为准。
collate 校验规则:如果没有指定校验规则,则以地点数据库的默认校验规则为准。
engine 存储引擎:指定存储引擎,如果没有指定存储引擎,则利用默认存储引擎。
https://i-blog.csdnimg.cn/direct/a3c39601d820467889f9318002049168.png
2、查察表结构

语法:
desc 表名;  https://i-blog.csdnimg.cn/direct/ef88ebd537744fb7b59a999560a44a34.png
说明:
field:字段名字        type:字段类型        Null:是否允许为空        key:索引类型
default:默认值        extra:扩充
3、修改表

先在上面的users表中插入一些数据:
https://i-blog.csdnimg.cn/direct/45242423594f4ad49f52b2e0c03b07d2.png
添加字段:
ALTER TABLE tablename ADD (column datatype [,column datatype]...); 在users表中添加一个字段,用于生存用户的生日。 
https://i-blog.csdnimg.cn/direct/463d6f4a657d4b10880a16b23e82b7f2.png
修改字段:
ALTER TABLE tablename MODIfy (column datatype [,column datatype]...); https://i-blog.csdnimg.cn/direct/7f70cf43bc8e4311bd84986b96319160.png
 删除字段:
ALTER TABLE tablename DROP (column); https://i-blog.csdnimg.cn/direct/2d00b81f60ea4dc2ab8738dbb13aeafd.png
注:删除字段肯定要小心,删除字段及其对应的列数据都没了。
修改表名
alter table 原表名 rename to 新表名 https://i-blog.csdnimg.cn/direct/e7126798463a48e0b038926bfe2c0ef5.png
修改字段名
alter table 表名 change 原列名称 新列名称
——新字段需要完整定义 https://i-blog.csdnimg.cn/direct/1607383b8f6f44529b0a720ab1b592ff.png
4、删除表

DROP TABLE tbl_name [, tbl_name] ... https://i-blog.csdnimg.cn/direct/f81cb51d95d541db9d04e0f8131d4233.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MySQL之对数据库和表的操作