数据库基本知识点
基本概念
数据:描述事物的符号记录,是数据库中存储的基本对象。
1、数据库:数据库是一个以某种有组织的方式存储的数据集合(看作是一个文件柜,其中存放数据的物理位置)
2、表:表是某种特定类型数据的结构化清单,是数据库最基本的单元,是数据的存储结构。表有唯一的表名。
表有行和列
3、行:数据/记录。例如每一行表示一个客户
4、列:字段(每个字段有字段名、数据类型、约束等属性)。例如账单的一列存储客户编号、一列存储客户消费金额
5、主键(primary key):唯一表示表中每行的列
主键用来表示一个特定的行,像是ID
条件:任意两行都不具有相同的主键值;每行都必须具有一个主键值(主键值不允许NULL值)
6、外键(foreign key):为某个表中的列,包含了另一个表中的主键,起了将两个表相关联的作用
数据库管理系统:位于用户和操作系统之间的一层数据管理软件
数据库管理系统的功能
(1)数据定义功能
(2)数据组织、存储和管理
(3)数据操纵功能
(4)数据库的事务管理和运营管理
(5)数据库的建立和维护功能
数据库系统:由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据库系统的特点:
(1)数据结构化
(2)数据的共享性高、冗余度低且易扩充
(3)数据独立性高
(4)数据由数据库管理系统统一管理
SQL:结构化查询语言(Structured Quqry Language)
分类:
DQL:数据查询语言(select)
DML:数据操作语言(insert、delete、updata)
DDL:数据定义语言(create、drop、alter)
TCL:事务控制语言
DCL:数据控制语言
SQL的特点
1、综合统一:SQL可以独立完成数据库生命周期中的全部活动
2、高度非过程化:存储路径对用户来说是透明的,只要指出做什么,无需指出怎么做
3、面向集合的操作方式:操作独享、查找结果是元组的集合
4、以同一种语法结构提供多种使用方式:既是自含式语言(可通过终端键盘输入SQL命令),又是嵌入式语言(将SQL语言嵌入到高级语言设计中)
5、语言简洁,易学易用:只用了五个动词CREATE、 ALTER、DROP、 SELECT、 INSERT、 UPDATE、 DELETE、GRANT、 REVOKE。
6、对于数据统计方便直观
数据库创建与删除
数据库创建
1、CREATE DATABASE 数据库名;
2、CREATE DATABASE IF NOT EXISTS 数据库名;(能够避免重复出现相同数据库名的错误提示)
数据库删除
drop database 数据库名
数据库的导出和导入
数据库导出
1、确定路径
2、输入:mysqldump -u root -p 数据库名 > 命名.sql(如果导出单张表的话在数据库名后面输入表名即可)
3、输入密码
数据库导入
1、进入mysql
2、新建数据库并使用使用目标数据库
3、source 导入文件名.sql
表
表创建
create table 表名(
<列名> <数据类型> <完整性约束条件>,
<列名> <数据类型> <完整性约束条件>,
…
)
约束:约束用于限制加入表的数据的类型,包括NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY
1、NOT NULL (强制列不接受 NULL 值)
2、UNIQUE(唯一标识数据库表中的每条记录,每个表可以有多个UNIQUE)
3、PRIMARY KEY(标识主键,唯一标识数据库表中的每条记录且每个表只能有一个PRIMARY KEY )
4、FOREIGN KEY 指向另一个表中的 PRIMARY KEY)
例如:FOREIGN KEY (Id_P) REFERENCES Persons(Id_P);
其中"Id_P" 列指向 “Persons” 表中的 “Id_P” 列。“Persons” 表中的 “Id_P” 列是 “Persons” 表中的 PRIMARY KEY。“Orders” 表中的 “Id_P” 列是 “Orders” 表中的 FOREIGN KEY。
表删除
DROP TABLE <表名> 删除表结构
表修改
ALTER TABLE <表名>
1、添加字段(属性)
(1)ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] 默认将该列添加在最后
(2)ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
"FIRST 已存在的字段名"表示将该列添加在已存在的字段名列的前面
"AFTER 已存在的字段名"表示将该列添加在已存在的字段名列的后面
2、修改表名
rename table 老表名 to 新表名
3、修改字段
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
其中字段名指需要修改的字段名,数据类型指修改后的新数据类型
4、重命名字段
ALTER TABLE <表名> CHANGE <老字段> <新字段> <数据类型>
5、删除字段
ALTER TABLE <表名> DROP <字段名>