mysql存储引擎和数据导出(入)
来源:互联网 发布:java构造函数重载定义 编辑:程序博客网 时间:2024/04/28 15:49
存储引擎:
1:查看支持格式
show variables like 'table_type';
show engines \G;
create table test(id int(255) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id) ) engine=myisam default charset=gbk; 创建一个存数引擎是myisam的表 (engine=innoDB/memory等等设置其他的存储引擎)
2:修改引擎:
alter table test engine=innodb ; 原是myisam改为innodb
3:myisam特点
访问速度快 主要针对insert 和select为主的应用,完整和并发性要求不高 常用的格式,mysql默认
check table test ; 检查表健康
optimize table test ;定期清理频繁更新删除操作产生的碎片
4:innodb特点(有用到时候再细看)
频繁删除、更新时(降低该操作导致的锁) 准确性高 提供提交、回滚、崩溃恢复的事物安全,但写处理差 占内存(数据和索引)
常用于:用于财务、计数系统。
自增长字段不受插入影响,且必须是索引
支持外键:子表和父表要有对应的索引 可以规定子表和父表关于操作数据是否同步操作(149P)
5:memory特点
快!因为在内存中 服务关闭数据丢失 ,常用于:小表、中间数据保存
create table test2 engine=memory select name,sal from test1 group by sal;
show table status like 'test1' \G; 查询该表详细信息
create index mem_hash USING HASH on test2 (id); 建立hash索引 如果把HSAH换成BTREE就是用BTREE索引
show index from test2 \G 查询索引详细信息
可以在服务启动时加载数据源和free数据表 --init--file (用到时候再细看)
6:MERGE特点
是一组myisam表的组合,这些myisam表结构必须相同,对MERGE可以进行更新、查询、删除等操作。例如查询会把所有myisam成员表数据全部显示,插入删除不确定会具体到某个表。
管理数据仓库,很多表合一起:2006、2007、2008。。。。
字符集:
汉字字符集:
GB2312 GB13000 GBK(常用) UTF-8 (mysql) GB18030
对于mysql来说字符集就是uft-8, 如果中文量多会用GBK;因为GBK每个汉字2个字节 uft8每个汉字3个字节(减少磁盘I/O,db-cache,和网络传输时间)。如果是少量汉字用uft-8更好。
mysql字符集:
show character set; 看mysql 支持的字符集
show collation like 'gdb%'; 查看gdb校对规则(规则:以字符集名开始‘_语言名’_ci(大小写不敏感)_cs(大小写敏感)_bin(二元,进一步比较(cs)))
vim /etc/my.cnf 设置字符集 :default-character-set = utf8; 这时候如果insert的数据时乱码 就需要转成uft8
mysqld --default-character-set=gbk ./configure --with-charset=gbk 启动和编译是设置
show variables like 'character_set_server'; 查看server字符集 'collation_server' 查询server规则检验
show variables like 'character_set_database'; 查看当前数据库字符集
show create table test \G ; 查看表字符集
set names
导出导入mysql(修改字符集)
mysqldump -uroot -p --default-character-set=utf8(新) -d databasename>table.sql :设置以uft8字符集链接 -d只导出表结构不导数据 (手动修改table.sql的字符集为新字符集)
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=gbk(原) databasename>data.sql
导出所有记录:--quick 用来转储大的表 --extended-insert 优化insert重载时候可以快速插入 --no-create-info 不写重新创建每个转储表的CREATE TABLE语句 指定utf8
手动修改SET NAMES gbk为uft8 使用新字符集创建数据库:create database test2 default charset utf8;
导入表结构:mysql -uroot -p test2<table.sql
导入数据源:mysql -uroot -p test2<data.sql
(gbk字库>gb2312 转储时候可能会丢失gb2312不支持的那部分汉字数据)
用文件导出sql数据:
>select name, age, time from test_table into outfile '/tmp/lyy.txt'; //数据导出到/tmp/lyy.txt文件中
上面文件导入数据库:
>load data infile '/tmp/lyy.txt' into table test_table;
- mysql存储引擎和数据导出(入)
- mysql数据存储引擎
- |- mysql -| MySQL中数据存储引擎MyISAM和InnoDB
- Mysql修改数据存储引擎
- MySQL入门经典-----2、如何存储和获取数据(MySQL存储引擎、数据类型和运算符)
- mysql(二)存储引擎和数据类型
- mysql命令 导出表结构和数据 和存储过程
- Mysql MYISAM存储引擎 数据存储结构
- MySQL存储引擎和数据类型
- MySQL体系结构和存储引擎
- MySQL体系结构和存储引擎
- Mysql体系结构和存储引擎
- MySQL存储引擎和数据类型
- MySql体系结构和存储引擎
- 数据库学习篇之数据存储引擎(mysql)
- MySQL 的学习(三:MySQL存储引擎和数据类型)
- MySQL 存储过程和存储引擎
- MySQL更改数据存储引擎,禁用innodb
- Android的配置界面PreferenceActivity
- asp.net SiteMapPath 面包屑导航 web.config 配置多个站点地图
- android视频开发之一Android 如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
- IT学子成长指导类文章链接(七)
- Android服务之Service(一)
- mysql存储引擎和数据导出(入)
- CMake命令之execute_process
- CMake命令之list
- Android服务之Service(其)关于AIDL进程间通信
- 如何进行网站的本地测试
- CMake命令之set_property和get_property
- windows nginx + tomcat 负载整合
- CentOS6.2 安装部署openstack keystone+swift
- CentOs下Apache配置全过程