数据库和SQL

数据库和SQL

1.数据库的基本概念

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

数据库管理系统(DBMS):用来管理数据库的计算机系统称为数据库管理系统。

数据库的优势:

  1. 可多人共享数据
  2. 可提供大量数据所需的格式
  3. 可以应对文件被误删、硬盘出现故障等数据出现故障的情况

DBMS的种类:

  1. 层次数据库(HDB)
  2. 关系数据库(RDB)
  3. 面向对象数据库(OODB)
  4. XML数据库(XMLDB)
  5. 键值存储系统(KVS)

:所要研究的是关系数据库的基本语法,如MySql。

2.数据库的结构

使用RDBMS时,最常见的系统结构就是客户端/服务器类型(C/S)

服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序,或者是安装了此类程序的设备(计算机)。RDBMS也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容。

向服务器发送请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。访问由RDBMS管理的数据库,进行数据读写的程序称为RBDMS客户端。

表的结构

由行和列组成,用来管理数据的二维表在关系数据库中简称为

根据SQL语句的内容返回的数据同样必须是二维表的形式。

表的列称为字段,它代表了保存在表中的数据项目。表的行称为记录,它相当于一条数据。关系数据库的读写必须以行为单位进行读写。

行与列交汇的方格称为单元格。一个单元格中只能输入一个数据。

3.SQL概要

SQL语句及其种类

SQL用关键字、表名、列名等组合而成的一条语句(SQL语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,如select、where等。

  • DDL

**DDL(数据定义语言):**用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL包含以下指令:

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

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

  1. SELECT:查询表中的数据
  2. INSERT:向表中插入新数据
  3. UPDATE:更新表中的数据
  4. DELETE:删除表中的数据
  • DCL

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

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

注:SQL语句多以DML为主。要以掌握DML为要点。

SQL的基本书写规则

  • SQL语句要以分号 ; 结尾
  • SQL语句不区分大小写

SQL不区分关键字的大小写,如select和SELECT是一样的,但是插入到表中的数据是区分大小写的。

  • 常数的书写方式是固定的

SQL语句中直接书写的字符串、日期或者数字等称为常数。

SQL语句中含有字符串的时候,需要像 ’ab’ 这样,使用单引号 将字符串括起来,用来标识这是一个字符串。

SQL语句中含有日期的时候,同样需要使用单引号括起来。格式有**( ’26 Jan 2010’ 或者 ’10/01/26’ )**,也可以使用 ’2010-01-26’ 这种格式。

在使用数字时,不需要使用任何符号标识,直接写出100即可。

  • 单词需要用半角空格或者是换行来分隔

SQL语句的单词之间需要使用半角空格或换行符来进行分隔。不添加分隔的语句会发生错误。

4.表的创建

数据库的创建

在创建表之前,一定要先创建用力存储表的数据库。运行CREATE DATABASE语句就可以在RDBMS上创建数据库了。语法如下:

CREATE DATABASE <数据库名称>;

这里我们将数据库命名为shop,然后执行代码清单1-1中的SQL语句。

CREATE DATABASE shop;

表的创建(CREATE TABLE语句)

创建好数据库之后,接下来我们使用CREATE TABLE语句在其中创建表。CREATE TABLE语句的语法如下所示。

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

在数据库中创建表中的商品表(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 INT,
purchase_price INT,
regist_date DATE,
PRIMARY KEY (product_id));

命名规则

只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称。此外,名称必须以半角英文字母开头。

最后还有一点,在同一个数据库中不能创建两个相同名称的表,在同一个表中也不能创建两个名称相同的列。

数据类型的指定

所有的列都必须指定数据类型。数据类型表示数据的种类,包括数字型、字符型和日期型等。

  • INTEGER型

指定存储整数的列的数据类型,不能存储小数。

  • CHAR型

字符串以定长字符串的形式存储在被指定为CHAR型的列中。若未达到规定的长度,则用半角空格补足。

  • VARCHAR型

可变长字符串的形式来保存字符串的,在未达到规定的长度,不需要使用半角空格补足。

  • DATE型

用来指定存储日期(年月日)的列的数据类型(日期型)。

约束的设置

约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。Product表中设置了两种约束。

product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL,

数据类型的右侧设置了NOT NULL约束,即数据中不能有空白。

PRIMARY KEY(product_id)

这是用来给product_id列设置主键约束的。所谓键,就是在指定特定数据时使用的列的组合。键种类多样,主键就是可以特定一行数据的列,即该行数据唯一。

5.表的删除和更新

表的删除(DROP TABLE语句)

删除表的SQL语句非常简单,只需要一行DROP TABLE语句即可

DROP TABLE <表名>;

删除Product表

DROP TABLE Product;

注:轻易不要使用DROP语句,删除了的表是无法恢复的。

表定义的更新(ALTER TABLE语句)

使用ALTER TABLE语句就可以更新表。

ALTER TABLE <表名> ADD COLUMN <列的定义>;

注:ORACLE和SQL Server中不用写COLUMN。

ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(100);

删除表中某列使用的语法如下所示。

ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE Product DROP COLUMN product_name_pinyin;

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

向表中插入数据

INSERT INTO Product VALUES'0001','T恤衫','衣服',1000,500,'2009-09-20');
INSERT INTO Product VALUES'0002','打孔器','办公用品',500,320,'2009-09-11');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值