mysql特性:表级锁,行级锁,苦级锁,事务锁 底层存储结构:bTree
Mysql:数据库管理系统(dbms) 库:存储数据的地方 表:定义一种关系,用于数据与关系的对应 视图: view 可以看作是一个虚拟表,表结构和数据由定义的查询语句决定 作用:提高代码重用性 安全,对外接口统一 劣势:效率低下 在连表的基础上不能进行增删改 触发器:trigger 增删改操作的条件触发 作用:自动执行某些操作 减少流程 劣势:定义时不校验触发语句的有效性 insert :new deLete:old update:new old 都有 存储过程:相当于void方法 但是可以有出参,注重的是过程 函数:相当于有返回值的方法 注重的是返回值 索引 主键primary key:不重复,查询检索速度快 唯一索引unique:基本同主键 但是可以有多个 普通索引index:提高查询xiaol 全文索引:提高查询效率 只能在MyISAM引擎的表中使用 语句的分类: DDL:对库和表本身的操作:主要create drop alter DML:对数据的增删改 主要 insert update delete DQL: 对数据的查询 select DCL:控制语句 赋权和事务支持: 主要grant commit rollback 库的操作: create database[if not exists] 库名; drop database[if exists] 库名; show databases; grant select on 库名.表明(*代表所有库或者表)(库.某库所有表)to ‘用户名’@‘ip地址’ identified by ‘密码’ 表的操作: create table [if not exists] 表名(字段名 类型(长度)[属性 索引] [注释],); drop table [if exists 表名]; alter table 表名 rename to 新表名; alter table 表名 add column 字段名 类型(长度)[属性 索引] [注释] show tables; desc 表名: show create table 表名; 行级操作: update 表名 set 列名=值 [] where 条件 delete from 表名 where 条件; truncate [table]表名; insert into 表名 [字段列表]values[对应的值列表]; select [distinct] {|字段列表} from 表名 [join 表名 on ] [where 条件] [group by 分组字段] [order by 排序字段] [having] [limit a,b]; 事务: 备份和恢复: mysqldump [-h主机名] -u用户名 -p[options] 库名[各种表名]>文件路径; mysql [-h主机名] -u用户名 -p 库名< 文件路径; 在命令行: source 文件路径; 改变结束符:delimiter// delimiter ; 取消自动提交:set autocommit=0; 恢复自动提交:set autocommit=1; B/S架构:Browser/Server(浏览器服务端模式 不需下载 淘宝) C/S架构:Client/Server(必须下载客户端 lol)