diff --git "a/01 \350\213\217\346\270\205\345\215\216/20230215SQL\350\257\255\345\217\245\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" "b/01 \350\213\217\346\270\205\345\215\216/20230215SQL\350\257\255\345\217\245\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..b5e95f4b1629161e4386ce95a8168252f3ddaad9 --- /dev/null +++ "b/01 \350\213\217\346\270\205\345\215\216/20230215SQL\350\257\255\345\217\245\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" @@ -0,0 +1,227 @@ +# MySQL数据库概述 + +### 1.1 基本概念 + +* 数据库(DB):database 存储数据的地方 + +* 使用数据库是为了能够永久保存数据。当然这里指的是非内存数据库。 + +* 分类 + + 早期:层次模型、网状模型、关系模型 + + 目前市场上主要分为:关系型数据库、非关系型数据库 + +* 管理 + + 数据库管理系统(DBMS):一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。 + + MySQL、Oracle、SqlServer都是数据库管理系统。 + +![image-20230216215054687](E:\mysql作业\mysql仓库\mysql-base\01 苏清华\images\image-20230216215054687.png) + +### 1.2 MySQL数据库管理系统 + +* DBMS:关系型数据库和非关系型数据库。 + - 关系型数据库:表格类型的。 + - 非关系型数据库:非表格类型的。 + +# MySQL的安装与使用 + +### 2.1 安装 + +官网——下载安装 + +### 2.2 使用 + +* MySQL自带客户端 + +* cmd命令连接 + + `mysql -h 主机名 -p 端口号 -u 用户名 -p密码` + + `mysql -h localhost -p 3306 -u root -proot` + + 可简写为:`mysql -u root -p` + +* 第三方工具Navicat + +# 命令演示 + +* 查看所有的数据库 + + ```mysq + show databases; + ``` + +* 创建数据库 + + ```mysql + create database 数据库名 charset 编码集; + create database md charset utf8; + ``` + +* 修改 + + ```mysql + alter database 数据库名; + alter table 表名 change 原列名 现列名 列属性; + ``` + +* 删除数据库 + + ```mysql + drop database 数据库名; + drop database md; + ``` + +* 使用数据库 + + ```mysql + use 数据库名; + use md; + ``` + + * 查看所有表 + + ``` mysql + show tables; + show tables from md; + ``` + +* 创建表 + + ``` mysql + create table mm( + 列1 类型, + 列2 类型 + ); + ``` + +* 查看表结构 + + ``` mysql + desc 数据库名.数据表名; + ``` + +* 表中添加数据 + + ```mysql + insert into 表名(要添加的列,如果添加全部可不写)values (按顺序添加内容); + ``` + +* 查询表中数据 + + ```mysql + select 列表名(查看全部可写成*) from 表名 + ``` + +* 删除表数据 + + ```mysql + delete from 表名 where id=n; + ``` + +# SQL语句 + +SQL:结构化查询语言 + +### 分类 + +| 名称 | 解释 | 命令 | +| -------------------- | ---------------- | -------------------------- | +| DDL (数据定义语言) | 管理数据对象结构 | create,alter,drop, show | +| DML (操作) | 操作数据 | insert,delete,update | +| DQL (查询) | 查询数据 | select | +| DCL (控制) | 管理数据库的语言 | grant,commit,rollback | + +### 语法规范 + +* 不区分大小写(建议小写) +* 命名:英文+下划线/数字 +* 不要使用关键字 可以使用`` +* 不能重名 + +### 注释 + +* # +* -- +* /* ... */ 多行 + +### 标点符号 + +* 成对的 ‘ ’ “ ” ( ) + +* 英文状态 +* 特殊符号 + - ( ) 创建表函数等 + - “ ” 字符串和日期类型 + - “ ” 列的别名 + - “ ” 大多等于 ’ ‘ + +# 数据类型 + +### 整数和小数 + +* 整数: + + int (0-255) m需要配合使用,如zerofill + +* 小数: + + float 单精度 + + double 双精度 + + decimal 定点数 默认(10,0) 122.55——123 + +### 字符串 + +​ char 固定长度 + +​ varchar(m) 可变长度 以实际填写的为准 + +### 日期 + +​ year 年 2023 + +​ date 日期 2023-02-16 + +​ time 时间 11:20:25 + +​ datetime 日期时间 2023+02-16 11:20:25 + +### enum和set + +* enum 单选 枚举型 只能选一个且不能不选 可以使用下标定位 +* set 多选 集合型 可以不选 下标2次方定位 + +# 作业 + +数据库class3 +表student +字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号,并新增一条自己的记录。 + +```mys +CREATE DATABASE class3; +USE class3; +CREATE TABLE student( +s_id INT (10), +s_name VARCHAR (4), +s_sex enum('男','女'), +s_hobby SET ('睡觉', '打游戏', '听音乐' ), +s_address VARCHAR(35), +s_phone int(11), +s_email VARCHAR(15), +s_qq int(10) +); +ALTER database class3 CHARSET utf8; +SELECT * FROM student; +INSERT into student VALUES(301,'苏清华',2,7,'福建龙岩闽西学院',18649670916,'1463670799@qq.com',1463670799); +alter table student change s_phone s_phone CHAR(11); +alter table student change s_qq s_qq CHAR(10); +alter table student change s_id s_id int; +alter table student change s_email s_email VARCHAR(25); +``` + +![image-20230216215109100](E:\mysql作业\mysql仓库\mysql-base\01 苏清华\images\image-20230216215109100.png) \ No newline at end of file diff --git "a/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215054687.png" "b/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215054687.png" new file mode 100644 index 0000000000000000000000000000000000000000..836a6753688142f162246d50b6faf7f51ea14ed8 Binary files /dev/null and "b/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215054687.png" differ diff --git "a/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215109100.png" "b/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215109100.png" new file mode 100644 index 0000000000000000000000000000000000000000..da0731deb52166933332c5de0578dd1d5a7a9758 Binary files /dev/null and "b/01 \350\213\217\346\270\205\345\215\216/images/image-20230216215109100.png" differ