库层面的操作,一般只有三种:建库,改库,和查库
CREATE DATABASE [IF NOT EXISTS] db_name
建库的时候加上这个操作,避免的是重复建库,假如库存在的时候,就不会重复建库。
删除库中的某一个表
drop table + 表名
数据库支持的字符集
show charset;
查看数据库支持的字符集校验规则:
show collation;
假如现在有一张名为person的表,表中有一个名为name的选项,当然现在表中存储了很多的人名,现在我想搜索一个名叫狗蛋的人
可以在库中进行下面的操作
select * from person where name = ‘狗蛋’;
注:一张表在生成之后属性就不会再改变了
假如现在建了一张表,这个表是按照不区分大小写的方式建立的,那么此时表已建成,你现在要是再想修改这个表的属性为区分大小写,对不起,做不到。
删除表
drop table + 表名;
查看一个库中的所有表;
show tables;
查看库是如何建立的
show create database + 库名;
后面跟的是默认的创建规则
同理也可以查看表是如何创建的:
show create table + 表名;
那么数据库如何改名字呢?
假如你现在已经建了一个库,叫库1,现在你想把它的名字改为库2改怎么办?
这个不像常规的文件夹操作,直接一个重命名就可以了。
方法很多现在我介绍其中的一种:
第一种方法:
//总共需要三步
create database + 新库名; //创建新库
rename table 旧库名.表1名 to 新库名.表1名, //注意后面这个时候是逗号,假如旧库中只有一张表的候就只需要进行一次表的重命名操作,假如有多张表就需要在下面进行多个表的重命名
旧库名.表2名 to 新库名.表2名;
drop datebase 旧库名; //最后删除旧库名
第二种方法:
1.导出旧库
mysqldump -u 用户名 -p"密码" -R 旧库名称 > xxx.sql
2.创建新库
mysqladmin -u 用户名 -p"密码" create 新库名称
3.导入数据到新库
mysql -u 用户名 -p"密码" 新库名称 < xxx.sql
因为我没有密码,这里可以不用写密码
实际操作就是:
首先退出mariadb,因为我是在Linux下进行操作的就首先退出mariadb,接着是
mysqldump -u root -p -B my_2020_1_13 > show.sql
root是我的用户名,我在练习数据库的是时候,直接就是在root用户下进行的,-B后面可以跟多个库名
my_2020_1_13是我的旧库名,
show.sql是我导出的旧库文件
mysqladmin -u root -p create haha
haha是我的新库名
mysql -u root -p haha < show.sql
haha是我的新库名
show.sql就是我的
数据库的删除:
drop database +待删除的数据库名;
库中表的重命名:
rename table 旧名 to 新名;
库中表的删除
drop table +待删除的表名
数据库的备份和数据库备份数据的还原:
库的备份其实就是数据库重命名第二种方法的第一步,因为mysql并没有提供直接的语句,可以直接就修改库名,所以其实是通过备份文件,再建库再导入备份文件的方式来建立心得库的
首先是备份:
接着进入数据库删除:
接着是还原:
再次查看,发现删掉的库又回来了:
上面写的都是直接备份一整个数据库,当然也可以只备份其中的几张表:
mysqldump -u root -p 数据库名 表名1 表名2 > ./mytest.sql
此时将不再需要-B这个选项了,只需要跟上你所想要备份的表名就可以了。
插入的知识
BIG5:繁体字的常用编码
GB系列的编码是我们汉字的编码wen
因为国际化越来越明显,经常需要在一个页面上显示多个国家的字符,假如只使用自己国家的编码注定会产生其他国家的乱码,接着就有了UNICODE这个编码格式,这个编码是一个字符是三个字节,第一个字节代表的是国家的编码。
在数据库中UTF-8,只要记住 一个位占了三个字节就可以了。其他地方占几个字节不确定
mariadb与mysql的区别有:
mariadb与mysql的区别有MariaDB不仅仅是Mysql的一个替代品,MariaDB包括的一些新特性使它优于MySQL。MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同
怎样将一个文件删除之后,再也无法还原,将文件以记事本形式打开,删除,Ctrl + s 保存再退出,此时这个文件就再也找不回来了。哪怕是从硬盘上 也无法恢复了。删除文件后可以从硬盘恢复的原因是删除之后,当你把一个文件删除之后,只是告诉操作系统这块空间可以用了,但是里面之前写的内容并没有被清除掉,所以说当你还没用重新写入新的内容覆盖原有的内容的时候,文件还是可以还原的。