CPT103备考宝典 | 关系型数据库基础知识总结(上)
Hi, this is CPT103 Introduction to Databases Exam Prep Guide. Alright, let's get straight to the point and dive into the main topic.
说在前面
这里是考前总结(无废话版)上,预计阅读时间在半小时内
由于内容过多,查询和多表查询将写在(中),基础拓展将写在(下)中,敬请期待
文中附有英文题目及解析
详细笔记可见 MySQL从入门到入土 | 有道云笔记
本人拙见,如有不当处,还望海涵
参考文章写在文末
Over!祝食用愉快!|ू・ω・` )
绪论
数据库基础知识
概念
名称 | 全称 | 简称 |
---|---|---|
数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) |
数据库管理系统 | 操纵和管理数据库的大型软件 | DataBase Management System (DBMS) |
SQL | 操作关系型数据库的编程语言,定义了一套操作 关系型数据库统一标准 | Structured Query Language (SQL) |
MySQL
官网下载社区版 | 8.0.26即可
MySQL :: Download MySQL Installer (Archived Versions)
Tips
- root账号可以是123456(简洁好记,便于输入 | 不做项目不用考虑太多安全性)
- 配置环境:将MySQL Server的安装目录下的bin目录添加到环境变量
- MySQL默认开机自启动
- 默认端口3306,注意不要占用
数据模型
关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。(类似于给电脑看的excel)
SQL
引子
全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。
SQL 主要分为增删改查操作,也就是常说的CRUD。
通用语法
- SQL语句可以单行或多行书写,结尾需要写分号(无空格,前空格,后空格均可;若忘了分号,可以在下一行补上)。
- SQL语句可以使用空格/缩进来增强语句的可读性。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释: 单行注释:-- 注释内容 或 # 注释内容 | 多行注释:/* 注释内容 */
- 表名用小写,字段名用下划线的形式:work_time
- 表名或字段名可以用``包裹起来,让系统识别,在命名不规范时有奇效(学校出题喜欢框起来)
数据类型
数值类型
int使用较多
decimal:M:整体几位,D:小数位数(浮点数同理)
如123.45 M = 5,D = 2
字符串类型
注意Sting —> varchar,后面需要跟上 (),里面填入限制长度
注意在char后跟上的 (),里面填的是定长(通过空格补位占满空间)。
如果char后没有跟括号,默认(1),但是varchar必须跟括号
比如phone char(11) | sername varchar(50)
手机号限定11位(自动空格补),名字最长50位
EX1
a b
日期类型
DDL (Data Definition Language)
★★★☆☆
数据定义语言,用来定义数据库对象(数据库,表, 字段)
数据库操作
Tips
- 认识即可,太简单了考的概率不大
- 中括号内容为可省数据
- 在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。
- 如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再 执行删除,否则不执行删除。
- 我们要操作某一个数据库下的表时,就需要通过 USE 数据库
- 1064即代码敲错
- 不要对系统数据库执行任何操作
查询表结构
表操作-增
关键词:CREATE
Tips
- 分号代表结尾,故可用大长段编写
- 最后一个注释为表信息的说明,写单引号里
- 最后一处无逗号
举个栗子
设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号 (字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字) 5.年龄(正常人年龄,不可能存储负数)
6.身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)
CREATE TABLE emp(
id int comment '编号',
work_id varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
) COMMENT '员工表';
EX2
a 数值结构都需要定义 √
b 最后一行不需要口号 ×
c 修饰不是必须的 √
d 可以但不符合规范,人如果有空格需要``框起来 ×
e 是``符号 ×
表操作-改
关键词:ALTER
主要是对表名和列的操作
表操作-删
关键词:DROP
不要轻易尝试,数据也会清空!!!
DML (Data Manipulation Language)
★★★★☆
数据操作语言,用来对数据库表中的数据进行增删改
添加数据 INSERT
注意一个字段对应一个值
INSERT INTO employee VALUES
(3,'3','韦一笑','男',38,'123456789012345670','2005-01- 01'),
(4,'4','赵敏','女',18,'123456789012345670','2005-01-01');
出错点
1、数据超出范围
2、日期、字符串需要用单引号
3、出现错误后仍多次执行,导致录入多组不完整数据
4、对应数据
5、不同数据间用逗号隔开
6、数据可能重复,不要多次输入
修改数据 UPDATE
后面加上WHERE条件可以限制修改范围,比如“修改id为1的数据,将name修改为lihua”
update employee set name = 'lihua' where id = 1;
删除数据 UPDATE
如果想删一个字段,可以update改成null值
不带where会统一删除,系统会给出警告信息,可继续执行
DQL (Data Query Language)
★★★★★
数据查询语言,用来查询数据库中表的记录
重中之重,下节介绍!!!
DCL (Data Control Language)
★☆☆☆☆
数据控制语言,用来创建数据库用户、控制数据库的访问权限 了解即可
Host指主机,我们要创建删除一个用户,需要通过用户名和主机地址定位用户。(localhost为主机地址)
引用文章
转载自:https://juejin.cn/post/7376556275974094911