SQL 基础知识梳理(一)- 数据库与 SQL

目录

一、What's 数据库

1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。

2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。

3.关系型数据库(Relational Database,RDB):目前应用最广泛的数据库。

4.结构化查询语言(Structured Query Language,SQL):专门用于操作 RDB。

5.常见的 5 种关系型数据库管理系统(Relational Database Management System,RDBMS):

①Oracle Database:甲骨文公司

②SQL Server:微软公司

③DB2:IBM 公司

④PostgreSQL:开源

⑤MySQL:开源

二、数据库结构

1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。

2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

3.表(table):类似 Excel,由行和列组成的二维表。

4.字段:表的列(垂直方向)。

5.记录:表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。

6.单元格:行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。

三、SQL 概要

1.SQL 语句:用关键字、表名和列名等组合而成的一条语句。

2.3 种 SQL 语句种类:

(1)DDL(Data Definition Language,数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。

①CREATE:创建数据库和表等对象

②DROP:删除数据库和表等对象

③ALTER:修改数据库和表等对象

(2)DML(Data Manipulation Language,数据操作语言):查询或修改表中的记录。

①SELECT:查询表中的数据

②INSERT:向表中插入数据

③UPDATE:修改表中的数据

④DELETE:删除表中的数据

(3)DCL(Data Control Language,数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。

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

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

③GRANT:赋予用户的操作权限

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

【备注】DML 使用最频繁。

3.SQL 语句书写规范:

①以分号(;)结尾;

②大小写不敏感,不区分关键字的大小写;【注意】插入到表中的数据是区分大小写的,如"HI"、"Hi"和"hi"都不同。

③该系列随笔将采用"关键字大写,表名和列名的首字母大写"的格式。

④单词使用半角空格或换行符隔开

4.常数的书写方式:

字符串、日期:用单引号括起来('),如'Hello','2016-09-24'。

数字:直接书写,不用加单引号,如:5。

四、创建数据库与表

1.数据库创建:

-- 语法:CREATE DATABASE <数据库名称>

CREATE DATABASE Shop -- 创建名为 Shop 的数据库

2.表的创建

[](javascript:void(0); "复制代码")

-- 语法:
-- CREATE TABLE <表名>
-- (
--        <列名1> <数据类型> <约束>,
--        <列名1> <数据类型> <约束>,
--        ...
--        <表约束1>,
--        <表约束2>,
--        ...
-- )

[](javascript:void(0); "复制代码")

[](javascript:void(0); "复制代码")

-- 创建名为 Shohin 的表
CREATE TABLE Shohin
(
    shohin_id     CHAR(4)      NOT NULL,
    shohin_mei    VARCHAR(100) NOT NULL,
    shohin_bunrui VARCHAR(32)  NOT NULL,
    hanbai_tanka  INTEGER ,
    shiire_tanka  INTEGER ,
    torokubi      DATE ,
    PRIMARY KEY (shohin_id)
 );

[](javascript:void(0); "复制代码")

3.命名规则:

①只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称;

②规范要求命名以半角英文字符开头;

③名称不能重复。

4.数据类型的指定:声明该列的数据类型,是一种约束。

5.数据类型介绍:

①INTEGER:整型,意味不能存储小数;

②CHAR:字符串型,如 CHAR(10)和 CHAR(100)中的括号表名该列可以存储的字符串的最大长度。它是"定长字符串",如 CHAR(8) 表示在列中插入 'abc' 时会自动保存成 'abc '(后面5个半角空格)的形式;

③VARCHAR:字符串型,类似 CHAR,不同的是它是 "可变长字符串",如 VARCHAR(8) 在插入 'abc',保存的就是字符串 'abc';

④DATE:日期类型;

... ...

6.约束:

①非空约束:NULL 是空白(无记录)的意思的关键字,NOT NULL 表示必须输入的约束。

②主键约束:主键是可以确定一行数据的列,一般通过它取特定行的数据,它是唯一的,不允许重复。

... ...

五、更新和删除表

1.删除表

-- 语法:DROP TABLE <表名>

DROP TABLE Shohin; -- 删除名为 Shohin 的表

【注意】被删的表,无法恢复。

2.更新表

(1)添加列

-- 语法:ALTER TABLE <表名> ADD <列名> <类型>;

ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中添加名为 Shohin_mei_Kana 类型为 VARCHAR(100) 的列

(2)删除列

-- 语法:ALTER TABLE <表名> DROP COLUMN <列名>;

ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 删除 Shohin 表中名为 Shohin_mei_Kana 的列

【注意】表定义变更后无法恢复。

相关推荐
幽兰的天空35 分钟前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc38 分钟前
HTTP post请求工具类
网络·网络协议·http
心平气和️39 分钟前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️41 分钟前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
加酶洗衣粉1 小时前
MongoDB部署模式
数据库·mongodb
Suyuoa1 小时前
mongoDB常见指令
数据库·mongodb
添砖,加瓦1 小时前
MongoDB详细讲解
数据库·mongodb
Zda天天爱打卡1 小时前
【趣学SQL】第二章:高级查询技巧 2.2 子查询的高级用法——SQL世界的“俄罗斯套娃“艺术
数据库·sql
我的运维人生1 小时前
MongoDB深度解析与实践案例
数据库·mongodb·运维开发·技术共享
步、步、为营1 小时前
解锁.NET配置魔法:打造强大的配置体系结构
数据库·oracle·.net