MySQL最流行的关系型数据库管理系统
MySQL是WEB应用方面最好的RDBMS应用软件之一
RDBMS:Relational Database Management System关系数据库管理系统
关系型数据库的主要产品:
- oracle:在以前的大型项目中使用,银行,电信等项目
- mysql:web时代使用最广泛的关系型数据库
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台
关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
①数据以表格的形式出现
②每行为各种记录名称
③每列为记录名称所对应的数据域
④许多的行和列组成一张表单
⑤若干的表单组成database
RDBMS术语
①数据库:数据库是一些关联表的集合。.
②数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
③列:一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
④行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
⑤冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
⑥主键:主键是唯一的。一个数据表中只能包含一个主键。可以使用主键来查询数据。
⑦外键:外键用于关联两个表。
⑧复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
⑨索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
⑩参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
SQL是结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
- SQL语句主要分为:
- DQL:数据查询语言,用于对数据进行查询,如select
- DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
- TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
- DCL:数据控制语言,进行授权与权限回收,如grant、revoke
- DDL:数据定义语言,进行数据库、表的管理等,如create、drop
- CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
- 对于web程序员来讲,{% em color="#2ff700" %}重点是数据的CURD(增删改查),必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作{%endem%},其它语言如TPL、DCL、CCL了解即可
- SQL 是一门特殊的语言,专门用来操作关系数据库
数据库的基本操作
- 查看所有数据库
show databases;
- 使用数据库
use 数据库名;
- 查看当前使用的数据库
select database();
- 创建数据库
create database 数据库名 charset=utf8;
例:
create database python charset=utf8;
- 删除数据库
drop database 数据库名;
例:
drop database python;
数据表的操作
- 查看当前数据库中所有表
show tables;
- 查看表结构
desc 表名;
- 创建表
- auto_increment表示自动增长
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY(one or more columns)
);
- 修改表-添加字段
alter table 表名 add 列名 类型;
例:
alter table students add birthday datetime;
- 修改表-删除字段
alter table 表名 drop 列名;
例:
alter table students drop birthday;
- 删除表
drop table 表名;
例:
drop table students;
- 查看表的创建语句
show create table 表名;
例:
show create table classes;