什么是数据库和SQL?

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-2-5 14:09:44 | 显示全部楼层
什么是数据库?


  • 数据库(Database, DB)是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合
  • 用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
  • 为什么DBMS那么重要?因为文本文件或Excel的局限性:

    • 无法多人共享数据
    • 无法提供操作大量数据所需的格式
    • 实现读写自动化需要编程能力
    • 无法应对突发事故

  • DBMS的种类

    • 层次数据库(Hierarchical Database, HDB):最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。
    • 关系数据库(Relational Database, RDB):关系数据库是现在应用最广泛的数据库。
    • 面向对象数据库(Object Oriented Database, OODB):把数据以及对数据的操作集合起来以对象为单位进行管理。
    • XML数据库(XML Database, XMLDB):XML 数据库可以对 XML 形式的大量数据进行高速处理。
    • 键值存储系统(Key-Value Store, KVS):这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。


数据库的结构




使用RDBMS时的系统结构



通过网络可以实现多个客户端访问同一个数据库



数据库和表的关系



表的示例(商品表)

需要注意的是:

  • 关系数据库以行为单位读写数据;
  • 一个单元格只能输入一个数据。
什么是SQL?

SQL(Structured Query Language,结构化查询语言)是用来操作关系数据库的语言。

  • SQL语句及其种类:SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。根据对 RDBMS 赋予的指令种类的不同, SQL 语句可以分为以下三类。PS:实际使用的 SQL 语句当中有 90% 属于 DML。

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

      • CREATE: 创建数据库和表等对象
      • DROP: 删除数据库和表等对象
      • ALTER: 修改数据库和表等对象的结构

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

      • CREATE: 创建数据库和表等对象
      • DROP: 删除数据库和表等对象
      • ALTER: 修改数据库和表等对象的结构

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

      • COMMIT: 确认对数据库中的数据进行的变更
      • ROLLBACK: 取消对数据库中的数据进行的变更
      • GRANT: 赋予用户操作权限
      • REVOKE: 取消用户的操作权限


  • SQL的基本书写规则:

    • SQL语句要以分号(;)结尾;
    • SQL语句不区分关键字大小写,插入表中的数据区分大小写;
    • 常数的书写方式是固定的,字符串和日期常数需要使用单引号(')括起来,数字常数无需加注单引号(直接书写数字即可);
    • 单词间需要用半角空格或者换行来分隔,不能使用全角空格作为单词的分隔符;

表的创建


  • 数据库的创建(CREEATE DATABASE语句):CREATE DATABASE <数据库名称>;
  • 表的创建(CREATE TABLE语句):


2. 命名规则:只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称 ,且名称必须以半角英文字母开头。同一个表中不能创建两个名称相同的列。

  • 数据类型的指定:所有的列都必须指定数据类型,数据类型表示数据的种类,包括数字型、 字符型和日期型等。每一列都不能存储与该列数据类型不符的数据。下面介绍四种基本的数据类型:

    • INTEGER型:用来指定存储整数的列的数据类型(数字型),不能存储小数。
    • CHAR型:CHAR 是 CHARACTER(字符)的缩写,是用来指定存储字符串的列的数据类型(字符型),可在括号中指定字符串的长度,以定长字符串的形式存储,即字符串达不到指定的最大长度时,使用半角空格补充。
    • VARCHAR型:同CHAR类型一样,但其为可变长字符串,即字符串达不到指定的最大长度,不会以空格补充。
    • DATE型:用来指定存储日期(年月日)的列的数据类型(日期型)。

3. 约束的设置:约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能,例如:约定单元格输入不能为空NOT NULL,约定主键等。
表的删除和更新


  • 表的删除(DROP TABLE语句):DROP TABLE <表名>;,需要注意的是,删除的表是无法恢复的。
  • 表定义的更新(ALTER TABLE 语句):

    • 增加列使用的语法:ALTER TABLE <表名> ADD COLUMN <列的定义>;
    • 删除列使用的语法:ALTER TALBE <表名> DROP COLUMN <列名>;,删除的数据无法恢复。

  • 向表中插入数据:在MySQL中运行时,需要将①中的BEGIN TRANSACTION;改写为START TRANSACTION。


4. 表名的变更:RENAME TABLE <变更前的名称> to <变更后的名称>

以上,就是对数据库和SQL语言的介绍。后续会更新更多关于数据库操作的文章整理。
回复

举报 使用道具

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-2-5 14:09:54 | 显示全部楼层
数据库(Database, DB)是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
种类
层次数据库(Hierarchical Database, HDB):最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。
关系数据库(Relational Database, RDB):关系数据库是现在应用最广泛把数据以及对数据的操作集合起来以对象为单位进行管理。
分类
XML数据库(XML Database, XMLDB):XML 数据库可以对 XML 形式的大量数据进行高速处理。
键值存储系统(Key-Value Store, KVS):这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库
回复

举报 使用道具

3

主题

7

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-2-5 14:10:33 | 显示全部楼层
数据操纵语言(DML)包括三大语句,insert(插入)、delete(删除)、update(更新)
回复

举报 使用道具

1

主题

4

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-2-5 14:11:22 | 显示全部楼层
是不是先安装SQL数据库?
回复

举报 使用道具

2

主题

8

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-2-5 14:11:29 | 显示全部楼层
DML 常用指令那里写错了,应该是 INSERT添加数据,UPDATE修改数据,DELETE删除数据。
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表