美文网首页
SQL学习笔记1——数据库基础

SQL学习笔记1——数据库基础

作者: xinyiyake | 来源:发表于2021-08-24 19:34 被阅读0次

    1. 什么是数据库?

    将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合成为数据库(Database,DB)。

    2. 什么是DBMS?

    用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。

    3. 为什么要DBMS?

    • 可以多人共享数据
    • 方便提供了操作大量数据所需的格式
    • 实现读写自动化,通过SQL语句就可以查询
    • 数据可靠性,当文件被误删、硬盘出现故障等导致无法读取的时候,可以恢复

    4. DBMS种类

    • 层次数据库(Hierarchical Database,HDB),现在很少使用
    • 关系数据库(Relational Database,RDB),使用专门的 SQL(Structured Query Language,结构化查询语言)对数据进行操作,例如:Oracle Database、PostgreSQL、MySQL等
    • 面向对象数据库(Object Oriented Database,OODB)
    • XML 数据库(XML Database,XMLDB)
    • 键值存储系统(Key-Value Store,KVS)

    法则1-1 关系数据库以行为单位读写数据
    法则1-2 一个单元格中只能输入一个数据

    5. SQL 概要

    • SQL是为操作数据库而开发的语言。
    • 虽然SQL也有标准,但实际上根据RDBMS的不同SQL也不尽相 同。
    • SQL通过一条语句来描述想要进行的操作,发送给RDBMS。
    • 原则上SQL语句都会使用分号结尾。
    • SQL根据操作目的可以分为DDL、DML和DCL。

    法则 1-3 学会标准 SQL 就可以在各种 RDBMS 中书写 SQL 语句了

    6. SQL语句

    SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描 述操作的内容。

    • DDL(Data Definition Language),数据定义语言,用来创建或者删除存储数据用的数据库以及数据库中的表等对象。
    1. CREATE:创建数据库和表等对象
    2. DROP:删除数据库和表等对象
    3. ALTER:修改数据库和表等对象的结构
    • DML(Data Manipulation Language,数据操纵语言)用来查询或 者变更表中的记录。
    1. SELECT:查询表中的数据
    2. INSERT:向表中插入新数据
    3. UPDATE:更新表中的数据
    4. DELETE:删除表中的数据
    • DCL(Data Control Language,数据控制语言)用来确认或者取 消对数据库中的数据进行的变更。
    1. COMMIT:确认对数据库中的数据进行的变更
    2. ROLLBACK:取消对数据库中的数据进行的变更
    3. GRANT:赋予用户操作权限
    4. REVOKE:取消用户的操作权限

    法则 1-4 SQL 根据功能不同可以分为三类,其中使用最多的是DML。

    7. SQL 的基本书写规则

    1. SQL语句以分号(;)结尾
    2. SQL语句不区分大小写,但是为了方便理解,使用以下规则来书写SQL语句。但是插入到表中的数据是区分大小写的。
    • 关键字大写
    • 表名的首字母大写
    • 其余小写
    1. 常数的书写方式是固定的,使用单引号(')将字符串括起来,用来标识这是一个字符串。SQL 语句中含有日期的时候,同样需要使用单引号将其括起来。在 SQL 语句中书写数字的时候,不需要使用任何符号标识,直接 写成 1000 这样的数字即可。
    2. 单词需要用半角空格或者换行来分隔

    法则 1-5 SQL 语句以分号(;)结尾。
    法则 1-6 关键字不区分大小写。
    法则 1-7 字符串和日期常数需要使用单引号(')括起来。数字常数无需加注单引号(直接书写数字即可)。
    法则 1-8 单词之间需要使用半角空格或者换行符进行分隔。

    8. 表的创建

    • 表通过 CREATE TABLE语句创建而成。
    • 表和列的命名要使用有意义的文字。
    • 指定列的数据类型(整数型、字符型和日期型等)。
    • 可以在表中设置约束(主键约束和 NOT NULL 约束等)。
    1. 数据库创建语法
    // 创建shop数据库
    CREATE DATABASE shop;
    
    1. 表的创建语法
    CREATE TABLE <表名> 
    (<列名1> <数据类型> <该列所需约束>,
    <列名2> <数据类型> <该列所需约束>,
    <列名3> <数据类型> <该列所需约束>,
    <列名4> <数据类型> <该列所需约束>,
    .
    .
    .
    <该表的约束1>,
    <该表的约束2>,……);
    

    该语法清楚地描述了我们要创建一个包含 < 列名 1>、< 列名 2>、…… 的名称为 < 表名 > 的表。
    每一列的数据类型(后述)是 必须要指定的,还要为需要的列设置约束(后述)。
    约束可以在定义列 的时候进行设置,也可以在语句的末尾进行设置 。
    例:创建 Product 表的CREATE TABLE 语句

    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));
    

    法则 1-9 数据库名称、表名和列名等可以使用以下三种字符:半角英文字母、半角数字、下划线(_)
    法则 1-10 名称必须以半角英文字母作为开头。(标准SQL中定义)
    法则 1-11 名称不能重复。

    1. 数据类型
      数据类型表示数据的种类,包括数字型、字符型和日期型等。每一列都不能存储与该列数据类型不符的数据。

    INTEGER型,用来指定存储整数的列的数据类型(数字型),不能存储小数。
    CHAR型,CHAR 是 CHARACTER(字符)的缩写,是用来指定存储字符串的列的数据类型(字符型)。可以像 CHAR(10) 或者 CHAR(200) 这样,在括号中指定该列可以存储的字符串的长度(最大长度),超过长度则不能输入到该列中。未达到长度会以半角空格补足。
    VARCHAR型,VARCHAR 型也是用来指定存储字符串的列的数 据类型(字符串类型),也可以通过括号内的数字来指定字符串的 长度(最大长度)。长度可变,未达到长度不会补足。
    DATE型,用来指定存储日期(年月日)的列的数据类型(日期型)。

    1. 约束设置
      约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。
      NOT NULL 约束,NULL 是代表空白(无记录) 的关键字,在 NULL 之前加上了表示否定的 NOT,就是给该列设置了不能输入空白,也就是必须输入数据的约束(如果什么都不输入就会出错)。
      主键约束,所谓键,就是在指定特定数据时使用的列的组合。键种类多样,主键(primary key)就是可以特定一行数据的列(唯一性)。主键数据不能重复。

    9. 表的删除和更新

    • 使用DROP TABLE语句来删除表。
    • 使用ALTER TABLE语句向表中添加列或者从表中删除列。
    1. 删除表时使用的 DROP TABLE 语句:
    DROP TABLE <表名>;
    

    法则 1-12 删除了的表是无法恢复的。

    1. 表定义的更新(ALTER TABLE 语句)
    // 添加列
    ALTER TABLE <表名> ADD COLUMN <列的定义>;
    // 添加多列
    ALTER TABLE <表名> ADD (<列名>,<列名>,……);
    // 删除列的 ALTER TABLE 语句
    ALTER TABLE <表名> DROP COLUMN <列名>;
    

    法则 1-13 表定义变更之后无法恢复。

    1. 向 Product 表中插入数据
    INSERT INTO Product VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL);
    

    总结

    我们学习了数据库是什么,以及数据库的结构和种类,接触了基础SQL语句和SQL的基本书写规则,对一些数据库的基本操作有了了解,如库表的创建、数据类型、库表的约束设置以及表单删除和更新等。

    相关文章

      网友评论

          本文标题:SQL学习笔记1——数据库基础

          本文链接:https://www.haomeiwen.com/subject/ixkyhltx.html