Python 测开28期-Pomelo- 学习笔记-数据库

数据库

数据库基础知识

数据库简介

  • 数据库(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;