目录
一、了解MySQL数据库
1.SQL语言的介绍
SQL:(Structured Query Language) 指结构化查询语言
SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言 (ANSI,美国国家标准化组织)
SQL的通用语法:
1. SQL 语句可以单行或多行书写,以分号结尾。
2. 可使用空格和缩进来增强语句的可读性。
3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
4. 3 种注释
* 单行注释: -- 注释内容
# 注释内容(mysql 特有)
* 多行注释: /* 注释 */
2.MySQL数据库的介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 web 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开发源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库
3.MySQL的特点
1、成本低
MySQL是开放源代码,一般可以免费使用(甚至可以免费修改),一般中小型网站的开发都选择MySQL 作为网站数据库。
2、体积小、速度快
MySQL很容易安装和使用,而且优化的 SQL查询算法,执行速度很快,使用体验佳。
3、可移植性强
mySQL使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
4、为多种编程语言提供了 API
编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl 等。
4.MySQL的基本术语
数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表
格。
列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了性能,但ᨀ高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一
列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完
整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
表头(header): 每一列的名称;
列(col): 具有相同数据类型的数据的集合;
行(row): 每一行用来描述某条记录的具体信息;
值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
键(key): 键的值在当前列中具有唯一性。
MySQL 为关系型数据库(Relational Database Management System), 这种所3
谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组
成。
二、数据库的字段属性
-
自增 auto_increment
-
主键(复合主键)primary key 默认为非空 唯一primary key(stuid,carid)
-
外键 foreign key
-
索引 index
-
注释 comment
-
Default
-
是否为空 null 、not null
-
唯一 unique
-
检查check
age int check(age between 18 and 25),
注意:先有主键,后有外键。主外键属性保持一致。
自增和默认不能同时使用
列级约束 null 、not null
表级约束 primary key froreign key unique check
三、数据库的基本概念
数据:data
数据库 DataBase 简称DB
数据库系统 DataBase System 简称DBS
数据库管理系统 DataBase Managementsystem 简称DBMS
数据库系统管理员 DataBase Adminstraor 简称DBA
数据定义语言(DDL)
DataDescriptionLanguage,简称DDL用来定义数据库对象:数据库,表,列等。
关键字:create, drop,alter 等
数据操纵语(DML)
DataManipulationlanguage,简称DML用来对数据库中表的数据进行增删改。
关键字:insert, delete, update
数据查询语言(DQL)
(Data Query Language)用来查询数据库中表的记录(数据)。
关键字:select, where 等
数据控制语言(DCL)
(Data Control Language)用来定义数据库的访问权限和安全级别,及创建用户。
关键字:GRANT, REVOKE 等
数据库和数据库对象:
数据库对象:存储管理和使用数据的不同结构形式,如:表,视图,存储过程,函数,触发器,事件等。
数据库:储存数据库对象的容器。
数据库分两种:
1):系统数据库(系统自带的数据库):不能修改
information_schema:存储数据库对象信息,如:用户信息,列表信息,权限等(视图)
performance_schema:存储数据库服务器性能参数列表。
test:任何用户都可以使用的测试数据库.
2):用户数据库(用户自定义的数据库):一般的,一个项目一个用户数据库。
四、MySQL的数据类型
整形 BIT tinyint int(默认为有正负符号的,除非声明为unsigned)
浮点型 float double decimal(7,3) 1234.567 7代表去掉小数点后总的位数 3代表小数位
字符型 char(M) 长度固定 N<M 仍然占用M个字节 浪费存储空间 存取速度快
varchar(M) 长度不固定 N<M 占用N 个字节 节省存储空间 存取速度慢
text 文章等类型 查询不区分大小写
ENUM 枚举类型 单项
SET 枚举类型 多项’a,b,c’ 可添加 'a b c'
布尔型 Boolean 0代表假 非0代表真
日期型 date(’2017-03-03’) time(’10 : 10 :10’)Datetime(’2017-03-03 10 :10 : 10’)
year(4位数’2017’ 2 位数’17’)