From f2602da902751503d35fb2d9e4adc579524452fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CPHZ=E2=80=9D?= <“2892270442@qq.com”> Date: Thu, 3 Oct 2024 10:10:40 +0800 Subject: [PATCH] =?UTF-8?q?submit=20=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\346\225\260\346\215\256\345\272\223-1.md" | 107 +++++++++++++++++- 1 file changed, 101 insertions(+), 6 deletions(-) diff --git "a/source/_posts/\346\225\260\346\215\256\345\272\223-1.md" "b/source/_posts/\346\225\260\346\215\256\345\272\223-1.md" index 0b1374d..e359c77 100644 --- "a/source/_posts/\346\225\260\346\215\256\345\272\223-1.md" +++ "b/source/_posts/\346\225\260\346\215\256\345\272\223-1.md" @@ -5,10 +5,105 @@ tags: - 学习笔记 --- ### 数据库的相关概念 - 名称 | 全称 | 简介 - ------ |---------------------------|------------------------ -数据库 | 存储数据的仓库,数据是有组织的进行存储|DataBase(DB) -数据库管理系统|操纵和管理数据库的大兴软件|DataBase Management System(DBMS) -SQL | 操作关系数据库的变成语言,定义了一套操作关系数据库统一**标准**|Structured Query Language + | 名称 | 全称 | 简介 | + | -------------- | -------------------------------------------------------------- | -------------------------------- | + | 数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) | + | 数据库管理系统 | 操纵和管理数据库的大兴软件 | DataBase Management System(DBMS) | + | SQL | 操作关系数据库的变成语言,定义了一套操作关系数据库统一**标准** | Structured Query Language | -### 数据库 \ No newline at end of file + MySQL的启用与停止 +```bash +net start mysql80 +net stop mysql80 +``` + +### 数据模型 +- 关系型数据库(RDBMS) + - 概念:建立在关系模型的基础上,由多张相互连接的二维表组成的数据库。 + - 特点: + 1. 使用表格存储数据,格式统一,便于维护。 + 2. 使用SQL语言操作,标准统一,使用方便。 +- 数据模型 + - MySQL客户端通过给服务器发送操作信息,来对数据库进行操作 + - 在SQL服务器内部,DBMS对数据库进行创建、删除、操作等步骤。 + - 一个数据库中可以包含多个表结构,表结构才是真正存储数据的部分 + +### MySQL操作简介 +#### SQL通用语法 +1. SQL语句可以单行或多行书写,以分号结尾。 +2. SQL语句可以使用空格/缩进来增强语句的可读性 +3. MySQL数据库的SQL语句不区分大小写,但是一般将关键字大写。 +4. 注释: + - 单行注释:--   *注释内容*  或 #   注释内容 + - 多行注释:/*   注释内容   */ + +#### SQL语句分类 +| 分类 | 全称 | 说明 | +| ---- | -------------------------- | ------------------------------------------------------ | +| DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) | +| DML | Data Manipulation Language | 数据操作语言,用来对数据库中表的数据进行增删改 | +| DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 | +| DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 | + +#### DDL语句 +##### 数据库操作 +- 查询 + - 查询所有数据库 + ``` SHOW DATABASES; ``` + - 查询当前数据库 + ``` SELECT DATABASE(); ``` +- 创建 + ``` CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则] ``` +- 删除 + ``` DROP DATABASE [IF EXISTS] 数据库名; ``` +- 使用 + ``` USE 数据库名; ``` + +##### 表操作 +- 查询当前数据库所有表 + ``` SHOW TABLES ``` +- 查询表结构 +- ``` DESC 表名 ``` +- 查询指定表的建表语句 + ``` SHOW CREATE TABLE 表名 ``` +##### 表结构的数据类型 +| 分类 | 类型 | 大小 | 有符号(SIGNED)范围 | 无符号(UNSIGNED)范围 | 描述 | +| -------- | --------- | ------- | ------------------------------------------- | ------------------------- | ------------ | +| 数值类型 | TINYINT | 1 byte | (-128, 127) | (0, 255) | 小整数值 | +| 数值类型 | SMALLINT | 2 bytes | (-32768, 32767) | (0, 65535) | 较小整数值 | +| 数值类型 | MEDIUMINT | 3 bytes | (-8388608, 8388607) | (0, 16777215) | 中等整数值 | +| 数值类型 | INT | 4 bytes | (-2147483648, 2147483647) | (0, 4294967295) | 标准整数值 | +| 数值类型 | BIGINT | 8 bytes | (-9223372036854775808, 9223372036854775807) | (0, 18446744073709551615) | 大整数值 | +| 数值类型 | FLOAT | 4 bytes | 单精度浮点数范围 | 单精度浮点数范围 | 单精度浮点数 | +| 数值类型 | DOUBLE | 8 bytes | 双精度浮点数范围 | 双精度浮点数范围 | 双精度浮点数 | +| 数值类型 | DECIMAL | 可变 | 依定义的精度和标度确定 | 依定义的精度和标度确定 | 定点数 | + +除此之外,MySQL还有相应的时间数据类型 +| 分类 | 类型 | 大小 | 范围 | 格式 | 描述 | +| ------------ | --------- | ------- | ------------------------------------------------------ | ------------------- | -------------------------- | +| 日期时间类型 | DATE | 3 bytes | '1000-01-01' 至 '9999-12-31' | YYYY-MM-DD | 只包含日期 | +| 日期时间类型 | TIME | 3 bytes | '-838:59:59' 至 '838:59:59' | HH:MM:SS | 只包含时间 | +| 日期时间类型 | DATETIME | 8 bytes | '1000-01-01 00:00:00' 至 '9999-12-31 23:59:59' | YYYY-MM-DD HH:MM:SS | 包含日期和时间 | +| 日期时间类型 | TIMESTAMP | 4 bytes | '1970-01-01 00:00:01' UTC 至 '2038-01-19 03:14:07' UTC | YYYY-MM-DD HH:MM:SS | 包含日期和时间,用于时间戳 | +| 日期时间类型 | YEAR | 1 byte | '1901' 至 '2155' | YYYY | 只包含年份 | + +##### 表操作 +- 添加字段 + ``` ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];``` + 例如,为tb_user表中增加一个新的字段“昵称”为nickname,类型为varchar(20) + ``` alter table tb_user add nickname varchar(20) commenr "昵称"; ``` + +- 修改字段数据 + - 修改数据类型 + ``` ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度) ``` + - 修改字段名和字段类型 + ``` ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束]; ``` + +- 修改表名 + ``` ALTER TABLE 表名 RENAME TO 新表名 ``` + +- 删除表 + ``` DROP TABLE [IF EXISTS] 表名 ``` + +- 删除指定表,并重新创建该表 + ``` TRUNCATE TABLE 表名 ``` \ No newline at end of file