1、初识sql语句
服务端软件 mysqld
SQL语句:后面的分号
mysql -uroot -p123
操作文件夹(库)
增
create database db1 charset utf8;
查
show create database db1;
show databases; # 查看所有
改
alter database db1 charset gbk;
删
drop database db1;
操作文件(表)
切换文件夹:use db1;
查看当前所在文件夹:select database();
增
create table t1(id int,name char);
查
show create table t1;
show tables;
desc t1;

改 alter table t1 modify name char(6); alter table t1 change name NAME char(7); 删 drop table t1; 操作文件内容(记录) 增 insert t1(id,name) values(1,'egon1'),(2,'egon2'),(3,'egon3'); 查 select id,name from db1.t1; # 不推荐使用*的方法 select * from db1.t1;
改 update db1.t1 set name='SB'; update db1.t1 set name='ALEX' where id=2; 删 delete from t1; # 删t1所有 delete from t1 where id=2; # 删t1 中 id=2 的删除
2、库的操作
3、表操作
1、什么是存储引擎? 存储引擎就是表的类型 2、查看MySQL支持的存储引擎 show engines; 3、指定表类型/存储引擎 create table t1(id int)engine=innodb; create table t2(id int)engine=memory; create table t3(id int)engine=blackhole; create table t4(id int)engine=myisam; insert into t1 values(1); insert into t2 values(1); insert into t3 values(1); insert into t4 values(1);
3.1什么是存储引擎
mysql主要讲InnoDB存储引擎
SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。
MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;
有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。
1、InnoDB 存储引擎
支持事务,其设计目标主要面向联机事务处理(OLTP)的应用。其 特点是行锁设计、支持外键,并支持类似 Oracle 的非锁定读,即默认读取操作不会产生锁。 从 MySQL 5.5.8 版本开始是默认的存储引擎。 InnoDB 存储引擎将数据放在一个逻辑的表空间中,这个表空间就像黑盒一样由 InnoDB 存储引擎自身来管理。从 MySQL 4.1(包括 4.1)版本开始,可以将每个 InnoDB 存储引擎的 表单独存放到一个独立的 ibd 文件中。此外,InnoDB 存储引擎支持将裸设备(row disk)用 于建立其表空间。 InnoDB 通过使用多版本并发控制(MVCC)来获得高并发性,并且实现了 SQL 标准 的 4 种隔离级别,默认为 REPEATABLE 级别,同时使用一种称为 netx-key locking 的策略来 避免幻读(phantom)现象的产生。除此之外,InnoDB 存储引擎还提供了插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead) 等高性能和高可用的功能。 对于表中数据的存储,InnoDB 存储引擎采用了聚集(clustered)的方式,每张表都是按 主键的顺序进行存储的,如果没有显式地在表定义时指定主键,InnoDB 存储引擎会为每一 行生成一个 6 字节的 ROWID,并以此作为主键。 InnoDB 存储引擎是 MySQL 数据库最为常用的一种引擎,Facebook、Google、Yahoo 等 公司的成功应用已经证明了 InnoDB 存储引擎具备高可用性、高性能以及高可扩展性。对其 底层实现的掌握和理解也需要时间和技术的积累。如果想深入了解 InnoDB 存储引擎的工作 原理、实现和应用,可以参考《MySQL 技术内幕:InnoDB 存储引擎》一书。