数据库是组织和保存数据的应用程序,数据库的底层用了一些合适的数据结构对数据进行组织,存储和管理,以便进行增删查改。这也是数据库和数据结构之间的关系。 数据库主要的作用就是管理数据,对数据进行增删查改。
数据库的类型分为关系型数据库和非关系型数据库。
关系型数据库:以关系模型为基础,将数据存储在有行和列组成的二维表中,通过SQL语言来进行数据存储和管理,适用于事务处理、数据一致性要求高的场景。
MySQL就是关系型数据库,还有其他常见的关系型数据库有:
非关系型数据库:不依赖固定的表格结构,具有高可扩展性、高并发读写性能等特点,适用于处理半结构化或非结构化数据,以及对扩展性和性能要求高的场景。
常见的非关系型数据库有:
数据库的操作要用到SQL,SQL是针对数据库操作的语言。
SQL的分类:
在创建数据库之前,查看该数据库是否已经被创建过:
所以我们这里要查看一下我们当前集合中包含哪些数据库
show databases;
结果示例如下:

注意:


语法:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}我们已经查看查看完数据库,接下来创建自己没有的数据库,比如创建一个名为test1和test2的数据库:
写法1:
create database test1;

写法2:加上if not exists
create database if not exists test2;

写法一和写法二有什么区别,也就是加不加 if not exists 有什么区别? 在我的数据库中,我已经有了一个test1的数据库,如果我在创建一个相同名称的数据库试一下会出现怎么样的结果:
直接报错:

只是警告一下:

那么报错和警告有什么区别呢? 在工作中,执行SQL不是一条一条执行的,如果有一条报错,那么后面就不会再执行直接被中断,影响整个流程,而警告不会影响,还可以继续执行。
如果我们想要查看警告信息:
show warnings;

写法三:指定字符集和排序规则。(在创建库的时候强烈建议指定)
我们先查看数据库所支持的字符集编码和排序规则
show charset;
show collation;
show variables like '%character%';

创建指定字符集和排序规则的数据库:

注意:

语法:
use 数据库名称;
示例:
使用数据库test1

show database();

语法:
DROP DATABASE [IF EXISTS] db_name;示例:
删除数据库test1:
