一、基本概念
1、从系统架构的层面来看,数据库从大到小依次是数据库服务器(上面安装了DBMS和数据库)
、数据库(也称database或者schema)
、数据表
、数据表的行与列
二、创建和管理数据库
1、创建数据库
- 直接创建:
CREATE DATABASE 数据库名;
(使用默认的字符集) - 创建时指明字符集:
CREATE DATABASE 数据库名 CHARACTER SET 'gbk';
- 创建时判断数据库是否已存在,如果不存在则创建:
CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 'utf8';
,推荐使用此种方式
2、管理数据库
下面是常见的数据库管理SQL
# 查看当前连接中都有哪些数据库
SHOW DATABASES;
# 指定使用哪个数据库或者切换数据库
USE 数据库名;
# 查看当前数据库中保存的数据表
SHOW TABLES;
# 查看当时使用的数据库
SELECT DATABASE() FROM DUAL;
# 查看指定数据库下存在哪些表
SHOW TABLES FROM 数据库名;
3、修改数据库
一般情况下不建议做此操作,多发生在数据库刚创建出来时
数据库名一般不可以修改,某些可视化工具可以修改数据库名,实际上它是新创建了一个数据库,然后把旧数据库的数据复制过去,再删除旧库
# 修改数据库字符集
ALTER DATABASE 数据库名 CHARACTER SET 字符集;
4、删除数据库
- 直接删除:
DROP DATABASE 数据库名;
- 删除前先判断,如果存在则删除:
DROP DATABASE IF EXISTS 数据库名;
,推荐使用此方式
三、创建和管理表
1、创建表
1)常见数据类型
- 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT(或者INTEGER)、BIGINT
- 浮点类型:FLOAT、DOUBLE
- 定点数类型:DECIMAL
- 位类型:BIT
- 日期时间类型:YEAR、TIME、DATE、DATETIME、TIMESTAMP
- 文本字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
- 枚举类型:ENUM
- 集合类型:SET
- 二进制字符串类型:BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
- JSON类型:JSON对象、JSON数组
- 空间数据类型
- 单值:GEOMETRY、POINT、LINESTRING、POLYGON
- 集合:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION
2)创建表
- 方式一:从零开始创建