首先了解什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。它是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客 观事物间的本质联系。数据是数据库中存储的基本对象,是按一定顺序排列组合的物理符号。数据有多种表现形式,可以是 数字、文字、图像,甚至是音频或视频,它们都可以经过数字化后存入计算机。数据库是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并 可被各个应用程序所共享。数据库能有效地帮助一个组织或企业科学地管理各类信息资源。

数据库的分类:网络式、层次式、关系式 三种。

mysql 是由MySQL AB 公司开发 ,目前属于Oracle公司。

mysql的优点:体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。

待安装配置完mysql后 就可以用以下命令来操作,

mysql -u root -p      登录数据库   接下来输入密码就可以使用了

create database 数据库名字;                                         创建数据库
show databases 数据库名字;                                         查看数据库
show engines;                                                               查看数据库支持的引擎

drop database 数据库名字;                                           删除数据库

use 数据库名字;                                                            进入所输入名字的数据库

create table 表名 (列名 列数据类型);                             创建数据表
show tables;                                                                 查看数据表是否创建成功
desc 表名;                                                                     查看表结构是否正确                 
drop table 表名;                                                            删除指定表

创表的栗子:
CREATE TABLE `think_form` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `title` varchar(255) NOT NULL,
 `content` varchar(255) NOT NULL,
 `create_time` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
栗子解析:
• 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
• AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
• PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
• ENGINE 设置存储引擎,CHARSET 设置编码

数据引擎

mysql数据库可以flashback吗 mysql数据库可以存视频吗_database

 数据类型有三种

mysql数据库可以flashback吗 mysql数据库可以存视频吗_数据库_02

mysql数据库可以flashback吗 mysql数据库可以存视频吗_字段_03

mysql数据库可以flashback吗 mysql数据库可以存视频吗_表名_04

 在可能涵盖取值范围的基础上,尽可能选择较小的类型以提高效率和节约存储空间

where语句的条件

mysql数据库可以flashback吗 mysql数据库可以存视频吗_数据库_05

 最最基础的曾删改查:

mysql数据库可以flashback吗 mysql数据库可以存视频吗_表名_06

两表连接的语法:

select 表名1.字段,表名2.字段 from 表名1 inner join 表名2 on 表名1.字段N=表名2.字段N;        

多表连接的语法:

select 表1.字段,表2.字段,表3.字段 from 表1 left join 表2 on 表1.字段N=表2.字段N left join 表3 on 表1.字段N=表3.字段N;

on后面的是关联的字段

 触发器

三大类 insert 、delete 、update 、

四要素 监视地点、监视事件、触发时间、触发事件、

基本语法:create trigger 触发器名
after insert on `监听的表名`
FOR EACH ROW    每一行改变时
BEGIN         激发触发器执行的主体
执行的事件(insert 、update 、delete )
END;
删除触发器
drop trigger if exists 数据库名 触发器名;
数据库名,可选项,不填则为当前默认的数据库
if exists 可选项,避免在没有触发器的情况下删除触发器

视图

基本语法:create view 视图名 as select语句;
检查视图:describe 视图名;也可简写desc 视图名;
修改视图:alter view 视图名 as select语句;当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性。
删除视图:drop view if exists 视图名1,视图名2;

事务
MYSQL 事务处理主要有两种方法:
1、用 BEGIN, ROLLBACK, COMMIT来实现
begin 或 start transaction 显示开启一个事务
commit 或 commit work 提交事务
rollback 或rollback work 撤回修改
2、直接用 SET 来改变 MySQL 的自动提交模式:
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交

savepoint identifier 创建保存点
release savepoint identifier 删除保存点
rollback to identifier 把事务回滚到标记点

set transaction 用来设置事务隔离级别
四种隔离级别:read uncommitted、 未提交读
read committed、已提交读
repeatable read、可重复读
serializable、串行化

常见的几种约束:

主键、外键、唯一、非空、默认值、

索引的五大类:

普通索引、唯一性索引、主键索引、空间索引、全文索引。

mysql数据库可以flashback吗 mysql数据库可以存视频吗_database_07