Task01:初识数据库与SQL-天池龙珠计划SQL训练营

devtools/2024/9/24 13:12:22/

Task01:初识数据库与SQL

目录
一、初识数据库
1.1 DBMS的种类
1.2 RDBMS的常见系统结构
1.3 数据库安装
1.3.1 阿里云MySQL服务器使用介绍
1.3.2 本地MySQL环境搭建方法介绍
二、初识 SQL
2.1 概念介绍
2.2 SQL的基本书写规则
2.3 数据库的创建( CREATE DATABASE 语句)
2.4 表的创建( CREATE TABLE 语句)
2.5 命名规则
2.6 数据类型的指定
2.7 约束的设置
2.8 表的删除和更新
2.9 向 product 表中插入数据
三、练习题
3.1
3.2
3.3
3.4

本章主要对数据库进行基本介绍,考虑易用性及普及度,课程主要使用 MySql 进行 介绍。

SQL训练营页面地址:AI训练营SQL-阿里云天池
天池龙珠计划训练营地址:AI训练营-阿里云天池

一、初识数据库

数据库是将大量数据保存起来,通过计算机加工而成的可以 进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。

1.1 DBMS的种类

DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型.

  • 层次数据库(Hierarchical Database,HDB)
  • 关系数据库(Relational Database,RDB)

这种类型的 DBMS 称为关系数据库管理系统(Relational Database Management System,RDBMS)。比较具有代表性的 RDBMS 有如下 5 种。

* Oracle Database:甲骨文公司的RDBMS
* SQL Server:微软公司的RDBMS
* DB2:IBM公司的RDBMS
* PostgreSQL:开源的RDBMS
* MySQL:开源的RDBMS
  • 面向对象数据库(Object Oriented Database,OODB)
  • XML数据库(XML Database,XMLDB)
  • 键值存储系统(Key-Value Store,KVS),举例:MongoDB

本课程将向大家介绍使用 SQL 语言的数据库管理系统,也就是关系数据库管理系统(RDBMS)的操作方法。

1.2 RDBMS的常见系统结构

使用 RDBMS 时,最常见的系统结构就是客户端 / 服务器类型(C/S类型)这种结构(图 1-3)

1.3 数据库安装(必须学习)

本次学习大家可以选择使用阿里云数据库服务器或者本地安装数据库进行学习,在下面对应的学习教程中也给告诉了大家如何创建本次学习需要的数据库表和数据,所以大家必须使用一个方式安装数据库,才能完成后面学习。

1.3.1 阿里云MySQL服务器使用介绍

节约篇幅,具体相关介绍以及给大家写到pdf里了,大家点击链接即可进入查看:
http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/other/阿里云MySQL服务器使用介绍.pdf
优点: 操作使用方便,未来趋势(数据上云),导入、导出数据方便,运行速度快。
缺点: 需要付费购买,不过现在对开发者有优惠活动,基础版本 1核1G,存储空间20G的,目前优惠价半年只需9.9元,一杯奶茶钱不到。

1.3.2 本地MySQL环境搭建方法介绍

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

二、初识 SQL

2.1 概念介绍

数据库中存储的表结构类似于excel中的行和列,在数据库中,行称为记录,它相当于一条记录,列称为字段,它代表了表中存储的数据项目。

行和列交汇的地方称为单元格,一个单元格中只能输入一条记录。

SQL是为操作数据库而开发的语言。国际标准化组织(ISO)为 SQL 制定了相应的标准,以此为基准的SQL 称为标准 SQL(相关信息请参考专栏——标准 SQL 和特定的 SQL)。

完全基于标准 SQL 的 RDBMS 很少,通常需要根据不同的 RDBMS 来编写特定的 SQL 语句,原则上,本课程介绍的是标准 SQL 的书写方式。

根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类.

  • DDL

DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。

  • DML

DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。

  • SELECT :查询表中的数据

  • INSERT :向表中插入新数据

  • UPDATE :更新表中的数据

  • DELETE :删除表中的数据

  • DCL

DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。

  • COMMIT : 确认对数据库中的数据进行的变更

  • ROLLBACK : 取消对数据库中的数据进行的变更

  • GRANT : 赋予用户操作权限

  • REVOKE : 取消用户的操作权限

实际使用的 SQL 语句当中有 90% 属于 DML,本课程会以 DML 为中心进行讲解。

2.2 SQL的基本书写规则
  • SQL语句要以分号( ; )结尾
  • SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
  • win 系统默认不区分表名及字段名的大小写
  • linux / mac 默认严格区分表名及字段名的大小写
  • 本教程已统一调整表名及字段名的为小写,以方便初学者学习使用。
  • 常数的书写方式是固定的

'abc', 1234, '26 Jan 2010', '10/01/26', '2010-01-26'......

  • 单词需要用半角空格或者换行来分隔

SQL 语句的单词之间需使用半角空格或换行符来进行分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果。

请大家认真查阅《附录1 - SQL 语法规范》,养成规范的书写习惯。

2.3 数据库的创建( CREATE DATABASE 语句)

语法:

CREATE DATABASE < 数据库名称 > ;

创建本课程使用的数据库

CREATE DATABASE shop;
2.4 表的创建( CREATE TABLE 语句)

语法:

CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,< 列名 2> < 数据类型 > < 该列所需约束 > ,< 列名 3> < 数据类型 > < 该列所需约束 > ,< 列名 4> < 数据类型 > < 该列所需约束 > ,...< 该表的约束 1> , < 该表的约束 2> ,……);

创建本课程用到的商品表

CREATE TABLE product(product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER, purchase_price INTEGER, regist_date DATE, PRIMARY KEY(product_id))  ;
2.5 命名规则
  • 只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称
  • 名称必须以半角英文字母开头

表1-3 商品表和 product 表列名的对应关系

2.6 数据类型的指定

数据库创建的表,所有的列都必须指定数据类型,每一列都不能存储与该列数据类型不符的数据。

四种最基本的数据类型

  • INTEGER 型

用来指定存储整数的列的数据类型(数字型),不能存储小数。

  • CHAR 型

用来存储定长字符串,当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足,由于会浪费存储空间,所以一般不使用。

  • VARCHAR 型

用来存储可变长度字符串,定长字符串在字符数未达到最大长度时会用半角空格补足,但可变长字符串不同,即使字符数未达到最大长度,也不会用半角空格补足。

  • DATE 型

用来指定存储日期(年月日)的列的数据类型(日期型)。

2.7 约束的设置

约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。

NOT NULL是非空约束,即该列必须输入数据。

PRIMARY KEY是主键约束,代表该列是唯一值,可以通过该列取出特定的行的数据。

查看本文全部内容,欢迎访问天池技术圈官方地址:Task01:初识数据库与SQL-天池龙珠计划SQL训练营_天池技术圈-阿里云天池

http://www.ppmy.cn/devtools/11354.html

相关文章

【HTML】制作一个简单的实时字体时钟

目录 前言 HTML部分 CSS部分 JS部分 效果图 总结 前言 无需多言&#xff0c;本文将详细介绍一段HTML代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建一个文本文档&#xff0c;两个文件夹&#xff0c;其中HTML的文件名改为[index.html]&am…

文件上传漏洞-白名单检测

如何确认是否是白名单检测 上传一张图片与上传一个自己构造的后缀&#xff0c;如果只能上传图片不能上传其它后缀文件&#xff0c;说明是白名单检测。 绕过技巧 可以利用 00 截断的方式进行绕过&#xff0c;包括 %00 截断与 0x00 截断。除此之外如果网站存在文件包含漏洞&…

【鸿蒙开发】后台任务

1. 功能介绍 设备返回主界面、锁屏、应用切换等操作会使应用退至后台。 2. 后台任务类型 OpenHarmony标准系统支持规范内受约束的后台任务&#xff0c;包括短时任务、长时任务、延迟任务、代理提醒和能效资源。 开发者可以根据如下功能介绍&#xff0c;选择合适的后台任务以…

4个步骤:如何使用 SwiftSoup 和爬虫代理获取网站视频

摘要/导言 在本文中&#xff0c;我们将探讨如何使用 SwiftSoup 库和爬虫代理技术来获取网站上的视频资源。我们将介绍一种简洁、可靠的方法&#xff0c;以及实现这一目标所需的步骤。 背景/引言 随着互联网的迅速发展&#xff0c;爬虫技术在今天的数字世界中扮演着越来越重要…

全量知识系统 详细程序设计 之“编程理念”(QA SmartChat)

Q1. 今天聊聊 全量知识系统 &#xff08;“全知系统”&#xff09;详细程序设计 之“编程理念” 全知系统是一种拥有无限知识和能力的智能系统&#xff0c;它能够理解和应对各种复杂问题&#xff0c;并给出最优解决方案。在设计全知系统的程序时&#xff0c;需要遵循以下编程理…

[蓝桥杯 2018 省 A] 航班时间

题目链接&#xff1a;航班时间 显然&#xff1a;去程时间飞行时间时差&#xff0c;回程时间飞行时间-时差 列方程组可知&#xff1a;飞行时间&#xff08;去程时间回程时间&#xff09;/2 本道题目还有一个难点在于如何读入和输出&#xff1a;可以采用scanf&#xff08;&…

踏上R语言之旅:解锁数据世界的神秘密码(一)

R语言学习 文章目录 R语言学习数据矩阵与R语言表示1.创建一个向量&#xff08;随机变量、一维数组&#xff09;2.创建一个矩阵&#xff08;二维数组&#xff09;3.矩阵转置4.矩阵相加减5.矩阵相乘6.矩阵对角元素相关运算7.矩阵求逆8.矩阵的特征值与特征向量9.矩阵的Choleskey分…

一维递归:递去

示例&#xff1a; /*** brief how about recursive-forward-1? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h>…