Introduction to SQL
1. 数据库基础知识
-
数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)
- 注:我们平常使用的软件是数据库管理系统(DBMS),数据库DB是通过DBMS创建和操纵的容器。
-
表(table):表是一种结构化的文件,可以用来存储某种特定类型的数据。
- 存储在表中的数据应该是一种类型的数据,例如不可以将学生清单和课程清单存储在同一个表中,这会导致后续的检索和访问很困难。
- 表的名字即是表在数据库中的标识符,因此在同一个数据库中表的名字应该是唯一的。
-
模式(schema):模式是用来描述数据库和表的布局以及特性的信息。(如:数据在表中如何存储、可以存储什么样的数据、数据如何分解等)
-
列(column):列是表中的一个字段,存储着表中某部分的信息。所有表都是由一个或多个列组成的。
-
数据类型(datatype):所允许的存储的数据的类型,每个表列都有相应的数据类型,它限制该列中可以存储什么类型的数据。(如日期、文本、数字等)
-
行(row):数据库表中的一个记录。
-
主键(primary key):主键是表中的一列或一组列,它的值可以唯一区分表中的每个行。
- 应该保证每个表都有一个主键,以便于后续的数据操作和管理。
- 表中满足以下条件的任何列都可以作为主键:
- 任意两行都不具有相同的主键值;
- 每行都必须有主键值(主键列不允许NULL值存在)
- 实际使用中应该遵循的习惯:
- 不更新主键列中的值;
- 不重用主键列中的值;
- 不在主键列中使用可能会更改的值
-
结构化查询语言SQL(Structured Query Language):SQL是一种专门用来与数据库通信的语言。
- SQL的优点:
- SQL不是某个特定数据库专有的语言,几乎所有重要的DBMS都支持SQL;
- SQL简单易学:它的语句都是由描述性很强的英语单词组成,且数目不多;
- SQL是一种强有力的语言,灵活使用其语言元素可以进行非常复杂和高级的数据库操作。
- 注意:SQL是一个标准委员会制定的,尽管它试图定义可供所有DBMS使用的SQL语法,但事实上任意两个DBMS实现的SQL都不完全相同。
- SQL的优点:
2. 选择/简单查看数据库
2.1 选择数据库
- 在执行任意数据库操作之前,需要先选择要使用的数据库。使用USE关键字来实现。
- 关键字(key word):作为SQL语言组成部分的保留字,不能使用关键字命名表或列。
USE dataBaseName; # 打开数据库
2.2 查看数据库和表
- 使用SHOW命令来显示数据库或表信息
SHOW DATABASES; # 查看MySQL内部的数据库列表
SHOW TABLES; # 查看选定数据库中的表的列表
SHOW COLUMNS FROM tableName; # 对于表中的每一个字段返回一行,行中包括字段名、数据类型、是否允许为NULL、键信息、默认值以及其他信息(自增序列等)
DESCRIBE tableName; # 同上,是SHOW COLUMNS FROM的一种快捷方式
SHOW STATUS; # 显示服务器状态信息
SHOW CREATE DATABASE dataBaseName;
SHOW CREATE TABLE tableName; # 分别用来显示创建特定数据库或表的MySQL语句
SHOW GRANTS; # 显示授予用户的安全权限
SHOW ERRORS;
SHOW WARNINGS; # 显示服务器错误或警告信息