欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Chapter 1 - 数据库和SQL

程序员文章站 2022-09-14 13:35:58
Chapter 1 - 数据库和SQLPart 1. 数据库是什么数据库(DB):将大量数据保存,通过计算机加工而成的可以进行高效访问的数据集合数据库管理系统(DBMS):用来管理数据库的计算机系统1. DBMS种类层次数据库(HDB)把数据通过层次结构(树形结构)的方式表现出来目前很少使用关系数据库(RDB)由行和列组成的二维表来管理数据使用专门的SQL(Structured Query Language)对数据进行操作面向对象数据库(OODB)把数据以及...

Part 1. 数据库是什么

  • 数据库(DB):将大量数据保存,通过计算机加工而成的可以进行高效访问的数据集合
  • 数据库管理系统(DBMS):用来管理数据库的计算机系统

1. DBMS种类

  • 层次数据库(HDB)

    • 把数据通过层次结构(树形结构)的方式表现出来
    • 目前很少使用
  • 关系数据库(RDB)

    • 由行和列组成的二维表来管理数据
    • 使用专门的SQL(Structured Query Language)对数据进行操作
  • 面向对象数据库(OODB)

    • 把数据以及数据的操作集合以对象为单位进行管理
  • XML数据库(XMLDB)

    • XML数据库可以对XML形式的大量数据进行高速处理
  • 键值存储系统(KVS)

    • 这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组

      合的数据库

Part 2. 数据库的结构

1. RDBMS的常见系统结构

  • 最常见的系统结构:客户端 / 服务器类型(C/S 类型)

Chapter 1 - 数据库和SQL

2. 表的结构

  • 用来管理数据的二维表在关系数据库中简称为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SCmgXe0g-1593876484634)(/Users/gray/Library/Application Support/typora-user-images/截屏2020-07-04 上午10.58.32.png)]

  • 根据 SQL 语句的内容返回的数据同样必须是二维表的形式
  • 关系数据库必须以行为单位进行数据读写
  • 一个单元格中只能输入一个数据

Chapter 1 - 数据库和SQL

Part 3. SQL概要

1. SQL语句及其种类

分类 指令 功能
DDL数据定义语句 CREATE 创建数据可和表等对象
DROP 删除数据库和表等对象
ALTER 修改数据库和表等对象的结构
DML数据操纵语句 SELECT 查询表中的数据
INSERT 向表中插入新数据
UPDATE 更新表中的数据
DELETE 删除表中的数据
DCL数据控制语言 COMMIT 确认对数据库中的数据进行的变更
ROLLBACK 取消对数据库中的数据进行的变更
GRANT 赋予用户操作权限
REVOKE 取消用户的操作权限

2. SQL的基本书写规则

SQL语句要以分号(;)结尾
SQL语句不区分大小写;插入到表中的数据是区分大小写的 关键字大写
表名的首字母大写
其余(列名等)小写
常数的书写方式是固定的 字符串和日期常数需要使用单引号(')括起来
数字常数无需加注单引号(直接书写数字即可)
SQL 语句的单词之间需使用半角空格或换行符来进行分隔

Part 4. 表的创建

1. 数据库的创建

CREATE DATABASE <数据库名称>;

2. 表的创建

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

# 示例
-> (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_data DATE,
->  PRIMARY KEY(product_id));

3. 命名规则

  • 只能使用英文字母、数字、下划线(_)作为数据库、表和列的名称
  • 名称必须以英文字母作为开头
  • 同一个数据库中不能创建两个相同名称的表;同一个表中不能创建两个相同名称的表

4. 数据类型的指定

  • 所有的类必须指定数据类型
  • 数据类型表示数据的种类,包括数字型、字符型和日期型
  • 每一列不能存储与该列数据类型不符的数据
INTEGER型 用来指定存储整数的列的数据类型,不能存储小数
CHAR型 用来指定存储字符串的列的数据类型,长度固定
VARCHAR型 用来指定存储字符串的列的数据类型,长度可变
DATE型 用来指定存储日期(年月日)的列的数据类型(日期型)

5. 约束的设置

  • NOT NULL :表示该列不能输入空白,也就是必须输入数据的约束
  • PRIMARY KEY:设置主键约束,主键中元素是唯一的

Part 5. 表的删除和更新

1. 表的删除

DROP TABLE <表名>; # 删除的表,无法恢复;只能重新创建

2. 表定义的更新

  • 添加列的ALTER TABLE语句
ALTER TABLE <表名> ADD COLUMN <列的定义>;
  • 删除列的ALTER TABLE语句
ALTER TABLE <表名> DROP COLUMN <列名>; # mysql中不支持多行删除
  • 【注意】表定义变更之后无法恢复

3. 向Product表中插入数据

BEGIN TRANSACTION;# mysql中修改为 START TRANSACTION;
INSERT INTO Product VALUES('0001', 'T恤衫','衣服', 1000, 500, '2009-09-20');
INSERT INTO Product VALUES('0002', 'T恤衫','衣服', 1000, 500, '2009-09-20');
COMMIT;# 确定插入行的指令;

4. 变更表名

RENAME TABLE Poduct to Product; # 重命名

本文地址:https://blog.csdn.net/GrayD1419/article/details/107132392