1、初识sql语句

服务端软件 mysqld

3 MySQL数据库--初识sql语句

 

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;
3 MySQL数据库--初识sql语句
    改
        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;
3 MySQL数据库--初识sql语句
    改
        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 MySQL数据库--初识sql语句

3 MySQL数据库--初识sql语句

 

3 MySQL数据库--初识sql语句

3 MySQL数据库--初识sql语句

 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什么是存储引擎

3 MySQL数据库--初识sql语句

 mysql主要讲InnoDB存储引擎

3 MySQL数据库--初识sql语句

 

SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。
MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;
有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。

 

3 MySQL数据库--初识sql语句

 

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 存储引擎》一书。
View Code

相关文章: