当前位置:网站首页>Task01:初识数据库与SQL(笔记1)
Task01:初识数据库与SQL(笔记1)
2022-06-30 18:16:00 【游戏编程】
本章主要对数据库进行基本介绍,考虑易用性及普及度,课程主要使用 MySql 进行 介绍。
SQL训练营页面地址:AI训练营SQL-阿里云天池
天池龙珠计划训练营地址:AI训练营-阿里云天池
1、数据库定义:
将大量数据保存起来,通过计算机加工而成的可以惊醒高效访问的数据集合
用来管理数据库的计算机系统称为数据库管理系统(DBNS)
2、DBMS种类:
根据数据保存格式分类:层次数据库(HDB)
关系数据库(RDB)——又被称为RDBMS
面向对象数据库(OODB)
XML数据库(XMLDB)
键值存储系统(KVS),eg:MongoDB
具有代表性的 RDBMS :
* Oracle Database:甲骨文公司的RDBMS
* SQL Server:微软公司的RDBMS
* DB2:IBM公司的RDBMS
* PostgreSQL:开源的RDBMS
* MySQL:开源的RDBMS
3、RDBMS常见系统结构
客户端 / 服务器类型(C/S类型)

我采用了本地MySQL环境搭建方法如下:
节约篇幅,具体相关介绍以及给大家写到pdf里了,大家点击链接即可进入查看:
http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/other/本地MySQL环境搭建方法介绍.pdf
优点: 免费,增强动手能力。
缺点: 安装、配置麻烦,数据导入、导出耗时长。
4、SQL概念:操作数据库库的语言

数据库中存储的表结构类似与excel中的行和列,如上图所示:
在数据库中,行称为记录,相当于一条记录
列称为字段,代表表中存储的数据项目
行和列交汇的地方称为单元格,一个单元格中只能输入一条记录
根据对 RDBMS 赋予的指令种类的不同分类:
(1)数据定义语言(DDL) 用来创建或者删除 数据库和 表。其中指令有:
- CREATE : 创建数据库和表等对象
DROP : 删除数据库和表等对象
ALTER : 修改数据库和表等对象的结构 (2)数据操纵语言(DML) 用来查询或者变更 表中的记录。其中指令有:
SELECT :查询表中的数据
INSERT :向表中插入新数据
UPDATE :更新表中的数据
DELETE :删除表中的数据 (3)数据控制语言(DCL) 用来确认或者取消对数据库中的数据进行的变更。可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。其中指令有:
COMMIT : 确认对数据库中的数据进行的变更
ROLLBACK : 取消对数据库中的数据进行的变更
GRANT : 赋予用户操作权限
REVOKE : 取消用户的操作权限 5、基本书写规则
(1)要以分号(;)结尾
(2)不区分关键字的大小写,但插入表中的数据是区分大小写
(3)Windows系统默认不区分表名及字段名的大小写(linux/mac则不同)
(4)常数书写方式固定 eg:'abc', 1234, '26 Jan 2010', '10/01/26', '2010-01-26'…
(5)单词需要用半角空格或者换行来分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果。
6、数据库的创建(CREATE DATABASE 语句)
语法:
create database<数据库名称>;
7、表的创建(CREATE TABLE 语句)
语法:
create table <表名>
(<列名1><数据类型><所需约束>
<列名2><数据类型><所需约束>
<列名n><数据类型><所需约束>
)
8、命名规则
(1)只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称
(2)名称必须以半角英文字母开头
9、数据类型的指定
数据库创建的表,所有的列都必须指定数据类型,每一列都不能存储与该列数据类型不符的数据。
数据类型:
(1)INTEGER 型 存储 整数 的列的数据类型(数字型),不能存储小数。
(2)CHAR 型 存储定长字符串,当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足,由于会浪费存储空间,所以一般不使用。
(3)VARCHAR 型 存储(可变)长度字符串,定长字符串在字符数未达到最大长度时会用半角空格补足,但可变长字符串不同,即使字符数未达到最大长度,也不会用半角空格补足。
(4)DATE 型 存储日期(年月日)的列的数据类型(日期型)。
10、约束的设置
约束是除了数据类型之外,对列中存储的数据进行 限制 或者 追加 条件的功能。NOT NULL是 非空约束 ,即该列必须输入数据。PRIMARY KEY是 主键约束 ,代表该列是唯一值,可以通过该列取出特定的行的数据。
11、表的删除和更新
(1)删除表的语法:
Drop table <表名>
(2)添加列的 ALTER TABLE 语句
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
(3)删除列的 ALTER TABLE 语句
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;
注意:ALTER TABLE 语句和 DROP TABLE 语句一样,执行之后无法恢复。误添的列可以通过 ALTER TABLE 语句删除,或者将表全部删除之后重新再创建。
(4)清空表内容
TRUNCATE TABLE TABLE_NAME;
优点:相比drop``/``delete,truncate用来清除数据时,速度最快。
(5)数据的更新
UPDATE <表名>
SET <列名> = <表达式> [, <列名2>=<表达式2>...];
WHERE <条件>; -- 可选,非常重要。
ORDER BY 子句; --可选
LIMIT 子句; --可选
注意: 使用 update 时要注意添加 where 条件,否则将会将所有的行按照语句修改
使用 UPDATE 也可以将列更新为 NULL(该更新俗称为NULL清空)。此时只需要将赋值表达式右边的值直接写为 NULL 即可
UPDATE 语句和 INSERT 语句一样,可以将 NULL 作为一个值来使用。
但是,只有未设置 NOT NULL 约束和主键约束的列才可以清空为NULL。如果将设置了上述约束的列更新为 NULL,就会出错,这点与INSERT 语句相同。
(6)多列更新
UPDATE 语句的 SET 子句支持同时将多个列作为更新对象。(可以采用合并的方法来简化代码)(7)向 product 表中插入数据
INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);
注意 :1、对表进行全列 INSERT 时,可以省略表名后的列清单。 VALUES子句的值会默认按照从左到右的顺序赋给每一列。
2、执行一次 INSERT 语句会插入一行数据
3、插入多行时,通常需要循环执行相应次数的 INSERT 语句。其实很多 RDBMS 都支持一次插入多行数据
4、INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES子句的值清单中写入 NULL。想要插入 NULL 的列一定不能设置 NOT NULL 约束。
5、还可以向表中插入默认值(初始值)。可以通过在创建表的CREATE TABLE 语句中设置DEFAULT约束来设定默认值。
6、使用INSERT … SELECT 语句从其他表复制数据。
练习题答案:
1、create database Addressbook;
create table Addressbook(
regist_no integer not null,
name varchar(128) not null,
address varchar(256) not null,
tel_no char(10),
mail_address char(20),
primary key(regist_no)
);
2、ALTER TABLE Addressbook ADD COLUMN postal_code char(8) not null;
3、DROP TABLE Addressbook;
4、#删除的表是无法恢复的,只能重新插入,请执行删除操作时无比要谨慎
游戏编程,一个游戏开发收藏夹~
如果图片长时间未显示,请使用Chrome内核浏览器。
边栏推荐
- 不同制造工艺对PCB上的焊盘的影响和要求
- 德国AgBB VoC有害物质测试
- Teach you how to write selenium test cases
- 20200525 Biotechnology - Sichuan Normal University self taught Biotechnology (undergraduate) examination plan txt
- 「经验」爬虫在工作中的实战应用『理论篇』
- Pyth-Solana链上联通现实的桥梁
- Word——Word在试图打开文件时遇到错误的一种解决办法
- Cobbler轻松上手
- 简述机器学习中的特征工程
- 「经验」爬虫在工作中的实战应用『实现篇』
猜你喜欢

Entropy - conditional entropy - joint entropy - mutual information - cross entropy

Influence and requirements of different manufacturing processes on the pad on PCB

Cobbler is easy to use

Swin-transformer --relative positional Bias

小小笔记-整型提升(C语言)

Cloud Native Landing Practice Using rainbond for extension dimension information

MySQL transaction concurrency and mvcc mechanism

Video content production and consumption innovation

不同制造工艺对PCB上的焊盘的影响和要求

France a+ France VOC label highest environmental protection level
随机推荐
Introduction to Po mode "suggestions collection"
German agbb VOC hazardous substances test
20220607跌破建议零售价,GPU市场正全面走向供过于求...
Practice and Thinking on the architecture of a set of 100000 TPS im integrated message system
mysql下载和安装详细教程
RFFE中MIPI协议
Unity技术手册-初探性能优化
4个技巧告诉你,如何使用SMS促进业务销售?
Year after year, why is breaking the data island still the primary task of enterprise development
浏览器窗口切换激活事件 visibilitychange
Memory Limit Exceeded
Video content production and consumption innovation
NBI可视化平台快速入门教程(五)编辑器功能操作介绍
Kalman filter -- Derivation from Gaussian fusion
How to open a futures account safely? Which futures companies are more reliable now?
VMware16安装Win11虚拟机(最全步骤+踩坑)
mysql 递归
Pytorch learning (III)
基于STM32F1的环境光与微距离检测系统
Pyth Solana is a bridge connecting reality on the chain