首页 > 代码库 > Day3-

Day3-

Mysql体系结构

Mysql存储引擎

存储引擎——处理不同类型表的处理器

????????不同的存储引擎有不同的功能和存储方式

????????在建表时可以设置表使用的存储引擎

????????若不设置,新建的表使用mysql服务默认的存储引擎。

Show engines????查看当前数据库服务支持的存储引擎

Innodb????|default????Supports transactions, row-level locking, and foreign keys

????.frm????表结构????????.ibd表记录和表索引????????学名:共享表空间

Myisam????不支持外键,不支持事务

.frm????表结构 ????.myd????表记录????????.myi????表索引????????独享表空间

修改mysql配置文件

修改 默认存储引擎

技术分享

?

事务——一次sql操作从开始到结束过程

事务回滚——若一次SQL操作没有成功,就把数据还原到操作之前的状态——例:向银行转账,若转账不成功,回滚

锁机制——可锁记录或锁表

解决并发访问冲突问题

锁的范围取决于存储引擎

读锁(共享锁)

写锁(排它锁????互斥锁)

?

Mysiam????表锁????????查看比较多的使用该引擎

Innodb????????行锁????????写操作比较多的使用该引擎

?

Mysql体系结构——8个

1连接池(内存????CPU????进程数)

客户端要提供连接工具——语言连接数据库

2管理工具????提供mysql数据库服务的软件自带的命令

3 SQL接口——传递SQL命令给MYSQLD进程

4分析器——SQL命令格式是否正确,对操作操作的库、表是否有使用权限

5优化器——优化执行的SQL语句,让系统使用最少的资源去执行SQL命令

6缓存区——在mysql数据库服务时,会划分一定的系统物理内存给mysql服务做缓存

7储存引擎????myisam????innodb????

8文件系统——存储设备/var/lib/mysql/数据库名/表.*

?

数据导入——把系统文件的内容保存到数据库服务器的表里

????可以把系统用户信息保存数据库服务器的表里????

mysql> create table user_user(user varchar(30),password char(1),uid int(2),gid int(2),comment varchar(50),home varchar(50),shell varchar(50),index(user) );

mysql> load data infile ‘/etc/passwd‘ into table user_user fields terminated by ‘:‘ lines terminated by ‘\n‘;

mysql> alter table user_user add id int(6) primary key auto_increment first;

数据导入命令

LOAD DATA INFILE ‘文件名‘ INTO TABLE????表名????FIELDS TERMINATED BY ‘分隔符‘????LINES TERMINATED BY ‘\n‘;

导入数据时注意事项

????表中字段的个数要和文件中列的个数相等

????字段的类型要与文件中列的值匹配

?

数据导出——把数据库表里的记录保存到系统文件里

mysql> select * from 表名 into outfile ‘导出的文件位置‘;

默认以TAB键为间隔可以使用

后面加????????fields terminated by "符号"——————这是设置列分隔的

后面加????????lines terminated by "符号";——————这是设置行分隔的

mysql> select * from user_user into outfile ‘/tmp/user.txt‘;

mysql> select * from user_user into outfile ‘/tmp/user.txt‘ fields terminated by "#";

注意事项

导出的内容由SQL查询语句决定若不指定路径,默认会放在执行导出命令时所在库对就的数据库目录下。就确保mysql用户对目标文件夹有写权限

?

表记录和基本操作

select 查

select 字段名列表 from 表名;

select 字段名列表 from 数据库名.表名where 条件表达式;

字段名列表

* ????所有字段

字段名

字段名1、字段名2、字段名…

条件表达式

?

?

?

insert增

delete删

update改

Day3-