目录
一、SQL 语言
1、SQL 语言(结构化查询语言),主要用于存储数据、查询数据、更新数据和管理数据库系统
2、分类:
DDL:数据库定义语言:数据库、表、视图、索引、存储过程
DML:数据库操作语言:插入 insert、删除 delete、更新 update
DQL:数据库查询语言:查询 select
DCL:数据库控制语言:控制用户访问权限
3、名词解释:
① 数据库服务器:运行着数据库应用程序的设备
② 数据库:表的管理单元(数据库里装了很多的表)
③ 表:记录的管理单元(表里存放了很多记录)
④ 记录 (行):信息的载体(例:张三,男,23),字段的管理单元
⑤ 字段 (列):包括字段名、填写类型、约束 (填写规则)
二、DDL 定义数据表
1、DDL - 库
(1) 定义库
创建数据库:create database + 数据库名;
查看所有数据库:show databases;
(2) 进入数据库
use + 数据库名 (不用分号)
mysql 切换库后没有库名变化 ;但 mariadb 切换数据库后,库名会有变化。
(3) 删除库
drop database + 数据库名;
(4) Linux 系统备份数据库的位置
/var/lib/mysql/
2、数据类型
(1) 数值类型
① 整数类型:用于存储整数值,包括 TINYINT、SMALLINT、MEDIUMINT、INT和 BIGINT。这些类型的区别在于存储范围和占用空间大小。
② 浮点数类型:用于存储带有小数部分的数值,包括 FLOAT 和 DOUBLE。FLOAT适用于单精度浮点数,DOUBLE适用于双精度浮点数。
③ 定点数类型:用于精确存储小数,包括 DECIMAL 或 NUMERIC。
(2) 字符串类型
① CHAR:固定长度的字符串,适用于存储长度固定的数据,例如 CHAR(10) 表示长度为 10 的字符串。
② VARCHAR:可变长度的字符串,适用于存储长度可变的数据,例如VARCHAR(255)可以存储最多255个字符。
③ TEXT:用于存储较大的文本数据,分为TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT,存储容量依次增大。
(3) 日期/时间类型
① DATE:用于存储日期,格式为 'YYYY-MM-DD'。
② TIME:用于存储时间,格式为 'HH:MM:SS'。
③ DATETIME:用于存储日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
④ TIMESTAMP:用于存储日期和时间,但在插入或更新时会自动转换为当前的时间戳。
⑤ YEAR:用于存储年份,格式为 'YYYY'。
3、DDL - 表
(1) 示例1:创建1列的表格 - 序号
① 创库并使用
② 创表并查看
create table + 表名(列名 类型);
show tables;
③ 插入数据并查看
insert into + 表名 + values + (要插入的值);
select + 列名(可用 * 表示查询所有列) + from + 表名;
④ 删除表
drop table + 表名
(2) 示例2:创建两列的表格 - 序号和姓名
① 创表
create table 表名(第一列名 类型,第二列名 类型);
② 查看表结构
desc + 表名
③ 插入数据并查询
insert into + 表名 + values(第一列信息,第二列信息);
注意:数字不需要加引号;字符必须加引号
(3) 示例3:
创建一个如图所示的表格:
① 创建表并查看结构
create table + 表名 +(字段1 类型,字段2 类型,字段3 类型);
enum:枚举类型,可约束用户的输入信息
② 插入数据并查看