本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30175
数据库
数据库基础知识
数据库简介
- 数据库(DataBase) 就是一个以某种有组织的方式存储的数据集合
- 是存储和管理数据的仓库
- 其本质是一个文件系统
- 数据库管理系统(DBMS)是一款管理软件
数据库分类
- 关系型数据库(RDB: Relationship DataBase)
- 非关系型数据库(NoSQL)
使用场景
-
关系型数据库
- 需要做复杂处理数据
- 数据量不是特别大的数据
- 对安全性能要求高的数据
- 数据格式单一的数据
-
非关系型数据库(NoSQL)
- 数据模型比较简单
- 需要灵活性更强的 IT 系统
- 对数据库性能要求较高
- 不需要高度的数据一致性
SQL分类
- 数据定义语言(DDL):用来定义数据库对象,比如数据库,表,列等
- 数据操作语言(DML):用来对数据库中表的记录进行更新
- 数据查询语言(DQL):用来查询数据库中表的记录
- 数据控制语言(DCL):用来定义数据库的访问权限和安全级别及创建用户
DDL数据库操作-创建
创建数据库语法
- IF NOT EXISTS:可选项,创建前先判断,未存在时才执行创建语句
- 数据库名:必须指定的
- CHARACTER SET =字符集:可选项,用于指定数据库的字符集
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
CHARACTER SET [=] 字符集
创建数据库注意事项
- 不能与其他数据库重名
- 名称可以由任意字母、阿拉伯数字、下划线(_)和“$”组成,但不能使用单独的数字
- 名称最长可为 64 个字符,别名最长为 256 个字符。
- 不能使用 MySQL 关键字作为数据库名
- 建议采用小写来定义数据库名
创建命名为test_db 的数据库
CREATE DATABASE test_db;
创建名为 test_db2 的数据库,并指定字符集为 utf8
CREATE DATABASE test_db2 CHARACTER SET utf8;
如果数据库 test_db3 不存在,则创建名为 test_db3 的数据库
CREATE DATABASE IF NOT EXISTS test_db3 CHARACTER SET utf8;
DDL数据库操作-查看
查看数据库语法
DATABASES:必选项,用于列出当前用户权限范围内所能查看到的所有数据库名称
查看所有数据库
SHOW DATABASES;
选择数据库为当前数据库
USE 数据库名;
查看数据库定义信息
SHOW CREATE DATABASE 数据库名
查看当前所有数据库
show databases
;
选择数据库test_db
use test_db
查看test_db数据库的定义信息
SHOW CREATE DATABASE 数据库名;
DDL数据库操作-修改
修改数据库语法
- DATABASE:必选项
- 数据库名:可选项,如果不指定要修改的数据库,那么将表示修改当前(默认)的数据库
- CHARACTER SET = 字符集:可选项,用于指定数据库的字符集
修改数据库相关参数
Alter {database} [数据库名] Character set [-] 字符集
创建数据库 db1,指定字符集为 GBK
create database db1 character set GBK
将数据库 db1 的字符集修改为 utf8
alter database db1 character set utf8
DDL数据库操作-删除
删除数据库语法
- DATABASES:必选项
- IF EXISTS:用于指定在删除数据前,先判断该数据库是否已经存在,可以避免删除不存在的数据库时产生异常
删除数据库
drop database [if exists] 数据库名;
查看当前所有数据库
SHOW DATABASES;
删除某个数据库
DROP DATABASE test_db;
如果某个数据库存在,则删除这个数据库
DROP DATABASE IF EXISTS test_db2;