SQL基础

2020-03-02  本文已影响0人  上炼致知

一、数据库和SQL

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

和Excel一样,采用由行和列组成的二维表管理数据,这种类型的DBMS称为关系数据库管理系统(Relational Database Management System,RDBMS

使用RDBMS时,最常见的系统结构 v个美女你不不不不不不不不不客户端/服务器类型(C/S类型)

使用RDBMS时的系统结构.jpeg
服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或是安装了此类程序的设备(计算机)。

RDBMS也是一种服务器,能够从保存在硬盘上的数据库中读取数据并返回;

与之相对,向服务器发出请求的程序(软件),或者安装了该程序的设备(计算机)称为客户端。多个客户端可以同时对同一个数据库进行读写操作。

用来管理数据的二维表在关系数据库中简称为。一个数据库中可以存储多个表。

数据库和表的关系.jpeg
根据SQL语句的内容返回的数据同样必须是二伟标的形式,这也是关系数据库的特征之一。表的称为字段,它代表了保存在表中的数据项目。定义为数字的列只能输入数字,定义为日期的列只能输入日期。

与之相对,表的,称为记录

SQL语句及其种类

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

SQL语句可以分为三类:

DDL(Data Definition Language,数据定义语言)

用来创建或者删除存储数据用的数据库,以及数据库中的表对象等对象。

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

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

ALTER:修改数据库和表等对象的结构;

DML(Data Manipulation Language,数据操纵语言)

用来查询或者变更表中的记录。

SELECT:查询表中的数据;

INSERT:向表中插入新数据;

UPDATE:更新表中的数据;

DELETE:删除表中的数据;

DCL(Data Control Language,数据控制语言)

用来确认或取消对数据库中的数据进行的变更。此外,还可以对RDBMS的用户是否有权限操作数据库中的对象进行设定。

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

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

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

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

SQL基本书写规则

SQL语句以分号结尾

SQL不区分关键字的大小写,表名和列名也是如此;但是插入到表中的数据是区分大小写

可以根据个人喜好选择大写还是小写(或者混杂),但为了理解起来更加容易,可以用以下规则来书写SQL:

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

在SQL语句中直接书写的字符串、日期或者数字称为常数;常数的书写方式如下所示:

表的创建

表的最上面一行,是数据的项目名;真正的数据是从第二行开始;

创建表之前先要创建用来存储表的数据库。创建数据库:CREATE DATABASE语句

-- 创建名为shop的数据库
CREATE DTABASE shop;

创建表:CREATE TABLE语句

-- 创建商品表Product
-- 列名右边的INTEGER和CHAR等关键字,是用来声明该列的数据类型的
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_price    INTEGER ,
    PRIMARY_KEY (product_id));

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

约束:是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能;如NUT NULL表示必输;

主键约束

-- 给product_id列设置主键约束
PRIMARY KEY (product_id)

所谓键,就是在指定特定数据时使用的列的组合;主键可以指定特定一行的数据。

表的删除和更新

表的删除(DROP TABLE)
-- 删除Product表
DROP TABLE Product

删除的表是无法恢复的;

表定义的更新(ALTER TABLE)
-- 在Product表中添加一列product_name_pinyin
-- 1.MySQL、DB2、PstgreSQL
ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(10);
-- 2.Oracle,Oracle可以添加多列,括号括起来
ALTER TABLE Product ADD (product_name_pinyin VARCHAR2(100));
-- 3.SQL Server
ALTER TABLE Product ADD product_name_pinyin VARCHAR(100);
-- 删除Product表中的product_name_pinyin列
-- 1.MySQL、SQL Server、DB2、PstgreSQL
ALTER TABLE Product DROP COLUMN product_name_pinyin;
-- 2.Oracle,Oracle删除多列的时候可以用括号括起来
ALTER TABLE Product DROP (product_name_pinyin);

ALTER TABLE语句和DROP TABLE语句一样,执行之后无法恢复;

上一篇 下一篇

猜你喜欢

热点阅读