目录
前言
1、 查看数据库
1.1、查看所有数据库(show databases;)
1.2、创建数据库之后,查看创建的数据库的基本信息。
2、 创建数据库
2.1、直接创建数据库(create database [数据库名];)
2.2、创建数据库的时候判断是否已存在这个数据库
2.3、创建数据库的时候,可以设置数据库的字符集
3、 选中数据库(use 数据库名;)
4、删除数据库(drop database 数据库名; )
5、认识字符集
5.1、常见的字符集
前言
- 数据库是一个客户端-服务器结构的程序!!服务器和客户端可以在一台电脑上也可以在不同电脑上。
- 数据库服务器是通过数据库(逻辑上的数据集合)来将每一类数据进行分类管理,然后数据库当中存在数据表(每一类数据当中的一组),数据表中由存在很多行,每一行是一个“记录”,针对每一行还有很多列。每一列称为一个字段。
1、 查看数据库
为什么是show databases,不是database,我们直到database的意思是数据库的意思,我们的电脑当中不知一个数据库,所以这里使用复数形式。
1.1、查看所有数据库(show databases;)
这样就可以看到你的电脑当中有几个数据库 、
❗❗❗注意:
在查看数据库的操作的时候。要使用英文分号(;)结尾。像这种情况数据库的客户端是允许一个sql分多行写的,如果不写分号,直接换行。此时客户端认为你一个sql还没写完。就会出现下面的情况。
1.2、创建数据库之后,查看创建的数据库的基本信息。
show create database demo;
- 创建数据库
- 查看当前数据库的基本信息
2、 创建数据库
2.1、直接创建数据库(create database [数据库名];)
这样我们的数据库就创建成功了
我们可以通过之前的查看数据的操作,来擦看我们创建的数据库是否存在。
❗❗❗ 注意:
- 数据库名字的命名格式为:数字、字母、下划线构成。数字不能开头(和Java的变量命名同理),名字不能是sql中的关键字。
- 如果就是想拿关键字作为数据库名,可以使用反引号(`)把数据库名引起来。
- 不知道有没有同学注意到,在写数据库的创建格式时,数据库名被[ ]包裹,但是在创建的时候,并没有使用[ ] ,[ ]是可选项,可以存在,也可以不要。
- 写sql 的时候,sql的关键字都是大小写不敏感的,(也就是说,我们在写数据库的时候,可以不区分大小写)。create databases与CREATE DATABASES是相同的结果,使用那种方式,根据个人的喜好。
2.2、创建数据库的时候判断是否已存在这个数据库
来看一下这个问题:当已经存在demo这个数据库的时候,我们在创建这样一个数据库,客户端就会报错,显示这个数据库已存在,不能再创建。
我们可以使用下面的语句来操作,这样当要创建的数据库存在的时候,客户端也不会报错
- 语法格式:
create database if not exists demo;
- 这句语法的语义为:如果MySQL中不存在相关的数据库,则创建数据库;如果存在MySQL中已经存在相关的数据库,则忽略创建语句,不在创建数据库。
2.3、创建数据库的时候,可以设置数据库的字符集
- 语法格式
create database demo_1 charset utf8; //或者下面这种 create database if not exists demo_1 charset utf8;
表示将demo_1这个数据库的字符集设置为utf8.
- 将demo_1这个数据库创建好之后,我们可以通过show create database demo_1;来查看创建的数据库中的信息
3、 选中数据库(use 数据库名;)
想要针对某个数据库进行后续操作(增删改查),此时就得先明确是针对那个数据库进行的,毕竟我们由很多数据库。
4、删除数据库(drop database 数据库名; )
- 删除数据库demo_1
- 通过显示数据库来查看数据库demo_1是否已被删除
❗❗❗ 特别注意:
删除数据库这个操作非常危险!!!
如果数据库当中存在非常重要的数据的时候,将数据库删除,数据没了,就很难恢复!!!
如果数据库中存在的数据是实时更新的数据,虽说可以备份,但是备份的只是某个时段的数据,从删除数据库开始,产生的数据都会丢失掉,这样的数据丢失,损失是非常大的。
删除了数据库之后,有办法恢复吗?
理论上来说有,但是恢复比较复杂,不能保证100%恢复回来!!
如果真删库了,赶紧停机,把硬盘拿下来,交给专门的人员让其恢复。
计算机删除硬盘数据,是逻辑删除,只是将这些数据标记为无效,并不是直接把数据抹掉。
5、认识字符集
问题:这里有个问题,一个汉字占几个字节???
答案:我想这里会有很多同学认为是2个字节。但是这个答案是错的。
这个问题并没有规定字符集,所以汉字占两个字符集是错误的。下面我们来了解一下常见的字符集。
5.1、常见的字符集
gbk:windows简体中文版,默认的字符集。这个字符集中一个汉字占两个字节。
utf8:更通用的字符集,不仅仅能表示中文。通常三个字节表示一个汉字。