1.数据库(Database):
是按照数据结构来组织、存储和管理数据的仓库,每一个数据库都有一个或多个不同的API用于构建,访问,管理搜索和复制所保持的数据
2.DBMS术语:
1.数据库:是一些关联表的集合
2.数据表:表是数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格
3.列:一列(数据元素)包含了相同的数据,例如邮政编码的数据
4.行:一行(二元组或记录 )是一组相关的数据,例如一条用户订阅的 数据
5.冗余:存储两倍数据,冗余可以是系统更快
6.全键:全键是唯一的,一个数据表中指包含一个主键,你可以使用主键来查询数据
7.外键:用于关联两个表
8.复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引
9.索引:使用索引可快速访问数据列表中的特定信息,索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录
10.参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性
3.Mysql数据库
Mysql是最流行的关系型数据库管理系统, 在WEB应用方面Mysql是最好的应用软件之一
Mysql是一种关联型数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内
4.操作命令
一.数据库操作命令
1.show dabatases; #查看都有什么数据库,所有数据库列表
2.use mysql; #进入某个数据库
3.create database ylz; #创建一个叫ylz的数据库,只支持英文
4.create database ylz charset gbk; #创建一个支持gbk的数据库
5.create database if not exists ylz;#不确认ylz是否存在,不报错创建,会有一条warning信息(用show warning; 打开错误信息)
5.show create database ylz; #显示ylz基本信息,包括编码方式
6.create database if not exists ylz character set gbk;创建一个gbk编码的ylz(第二种创建)
7.alter database ylz character set gbk; #修改数据库ylz编码方式
8. use ylz; #进入某个数据库,也可以相互切换
9. select database(); #查询在哪个数据库
二.表的操作命令
数据类型大致可以分为三类:数值,日期/时间和字符串(字符)类型
主键 :非空且唯一 :not null ,unique
1.创建一个表,并设计其中要输入内容的主题(id),以及后面跟的名称和数据类型(TINYINT), PRIMARY KEY(主键唯一且不为空),自动生成id(auto_increment), default 18(默认值)
CREATE TABLE employee(
id TINYINT PRIMARY KEY auto_increment,
name VARCHAR(25),
gender boolean,age INT ,
department VARCHAR(20),
salary DOUBLE(7,2)
);
相当于 id name gender department salary
(自动生成) (等待插入内容)
2.查询表
SHOW TABLES; #查看某个数据库中的所有表
DESC employee; #查看employee表结构和参数
SHOW CREATE TABLE employee; #查看表创建的语法内容
3.添加字段(add)
ALTER TABLE employee ADD is_married tinyint(1); #添加字段,名称 数据类型
ALTER TABLE employee ADD entry_date date not null; #添加字段,名称 数据类型 约束条件不为空
ALTER TABLE employee ADD a int,ADD b varchar(20); #添加多个字段,用逗号分开
4.删除字段(drop)
ALTER TABLE employee DROP a; #删除字段
5.修改字段(modify)
ALTER TABLE employee MODIFY age smallint not null default 18 after id; #修改age字段,smallint,not null , default 18(默认值),after id(把它放在id后面)