1 数据库基础
相关概念
-
数据库(Database,DB):将大量数据保存起来,经过计算机加工而成的能够进行高效访问的数据集合。linux
-
数据库管理系统(Database Management System,DBMS):用来管理数据库的计算机系统。sql
DBMS
2 SQL
2.1 SQL语句
数据库中存储的表结构相似于excel中的行和列。
在数据库中,行称为记录,至关于一条记录;列称为字段,表明了表中存储的数据项目。行和列交汇的地方称为单元格。
数据库
2.2 SQL基本书写规则
- 以分号( ; )结尾;
- 不区分关键字的大小写,但插入到表中的数据区分大小写;
- win 系统默认不区分表名及字段名的大小写;
- linux / mac 默认严格区分表名及字段名的大小写;
- 常数的书写方式固定;
- 单词须要用半角空格或换行分隔。
2.3 命名规则
只能使用半角英文字母、数字、下划线(_)做为数据库、表和列的名称
名称必须以半角英文字母开头。
post
2.4 数据类型的指定
数据库建立的表,全部的列都必须指定数据类型,如下是四种基本类型:编码
-
INTEGER 型:存储整数的列的数据类型(数字型);spa
-
CHAR 型:定长字符串,列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足,通常不使用;excel
-
VARCHAR 型:可变长度字符串,即便字符数未达到最大长度,也不会用半角空格补足。code
-
DATE 型:存储日期(年月日)的列的数据类型(日期型)。blog
2.5 约束的设置
除了数据类型以外,对列中存储的数据进行限制或者追加条件的功能。图片
- NOT NULL:非空约束,该列必须输入数据。
- PRIMARY KEY:主键约束,该列是惟一值,能够经过该列取出特定的行的数据。
3 练习题
1.编写一条 CREATE TABLE 语句,用来建立一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
表1-A 表 Addressbook (地址簿)中的列
CREATE TABLE Addressbook (regist_no INTEGER NOT NULL , name VARCHAR(128) NOT NULL , address VARCHAR(256) NOT NULL , tel_no CHAR(10) , mail_address CHAR(20) , PRIMARY KEY (regist_no) );
2.假设在建立练习1.1中的 Addressbook 表时忘记添加以下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL
ALTER TABLE Addressbook ADD COLUMN pstal_code CHAR(8) NOT NULL;
3.编写 SQL 语句来删除 Addressbook 表。
DROP TABLE Addressbook;
4.编写 SQL 语句来恢复删除掉的 Addressbook 表。
删除的表没法恢复,只能从新插入。