MYSQL基础
1. MySQL 简介
- Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在WEB应用方面。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。‘
- 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
RDBMS,关系数据库管理系统的特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
一些术语:
1 | 数据库: 数据库是一些关联表的集合。 |
SQL
SQL: 结构化查询语言(Structured Query Language)简称SQL,是最重要的关系数据库操作语言。有上百种数据库产品都支持SQL,如:MySQL、DB2、ORACLE、INGRES、SYBASE、SQLSERVER…
SQL包含6个部分:
- 数据查询语言(DQL:data Query Language):
SELECT
- 数据操作语言(DML:Manipulation):
INSERT, UPDATE, DELETE
- 事务处理语言(TPL):
BEGIN TRANSACTION
,COMMIT和ROLLBACK
- 数据控制语言(DCL):
GRANT(授权)或REVOKE(回收权限)
- 数据定义语言(DDL):
CREATE、ALTER和DROP
- 指针控制语言(CCL):
DECLARE CURSOR
,FETCH INTO
和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作
安装,连接
2. SQL基本操作
2.1 数据库操作
1 | mysql> show databases; --查看当前用户下的所有数据库 |
2.2 数据表操作
1 | mysql> show tables; --查看当前库下的所有表格 |
3.3 数据操作
1 | --添加一条数据 |
3. MySQL数据结构类型及操作
数据类型分为三个类:数值类型、字串类型、日期类型 。 还有一个特殊的值:NULL 。
3.1 数据类型
- 数值类型
1 | *tinyint(1字节) 0~255 -128~127 |
- 字串类型
1 | 普通字串 |
- 时间和日期
1 | date 年月日 |
- NULL
1 | NULL意味着没有值或未知值,可以测试某个值是否为NULL,但不能对其进行算数计算 |
3.2 数据库操作
进入Mysql交互操作界面:
1
> mysql -u root -p
退出交互:
1
> quit;
3.2 数据表操作
- 运算符
1 | 算数运算符 比较运算符、逻辑运算符(and or not) |
- 表的字段约束
1 | unsigned 无符号(正数) |
- 建表语句格式
1 | create table 表名( |
- 修改表的结构
1 | alter table 表名 action(更改选项); |
更改选项:
1 | 1. 添加字段:alter table 表名 add 字段名信息 |
- 字符编码(支持中文)
1 | 1,创建table的时候就使用utf8编码 |
MySQL数据库中的表类型一般常用两种:MyISAM和InnoDB
MyISAM类型的数据文件有三个frm(结构)、MYD(数据)、MYI(索引)
MyISAM类型中的表数据增 删 改速度快,不支持事务,没有InnoDB安全。
InnoDB类型的数据文件只有一个 .frm
InnoDB类型的表数据增 删 改速度没有MyISAM的快,但支持事务,相对安全。
3.3 数据操作
1. 添加数据
1 | insert into 表名[(字段列表)] values(值列表...); |
1 | --标准添加(指定所有字段,给定所有的值) |
2. 修改数据
1 | update 表名 set 字段1=值1,字段2=值2,字段n=值n... where 条件 |
1 | -- 将id为11的age改为35,sex改为m值 |
3. 删除数据
1 | delete from 表名 [where 条件] |
1 | -- 删除stu表中id值为100的数据 |
4. 数据查询
格式:
1 | select [字段列表]|* from 表名 |
1 | -- 显示整张表 |
3.4 数据库授权、备份、恢复
1. 授权
1 | grant 允许操作 on 库名.表名 to 账号@来源 identified by '密码'; |
1 |