create schema deepInMySql;

use deepInMySql;

-- 查看当前默认存储引擎

show variables like '%table_type%';

-- 查看当前数据库支持的存储引擎

show engines;

show variables like '%have%';

-- myisam

-- 创建表 ai

create table ai(

i bigint(20) not null auto_increment,

primary key (i)

)engine = MyISAM default charset = gbk;

create table country(

country_id smallint unsigned not null auto_increment,

country varchar(50) not null,

last_update timestamp not null default current_timestamp on update current_timestamp,

primary key (country_id)

)engine = InnoDB default charset = gbk;

-- 查看表ddl

show create table ai;

-- 修改表的存储引擎

alter table ai engine = innodb;

create table myisam_char(

name char(10)

) engine = MyISAM default charset = gbk;

-- 插入记录

insert into myisam_char values('abcde'), ('abcde '), (' abcde'), (' abcde ');

-- 查询记录

select name, length(name) from myisam_char;

-- innodb

create table autoincre_demo(

i smallint not null auto_increment,

name varchar(10),

primary key (i)

) engine = innodb;

insert into autoincre_demo values(1, '1'), (0, '2'), (null, '3');

select * from autoincre_demo;

-- 查询当前线程最后插入记录使用的值

select last_insert_id();

insert into autoincre_demo values(4, '4');

insert into autoincre_demo values(5, '5'), (6, '6'), (7, '7');

create table autoincre_demo_myisam(

d1 smallint not null auto_increment,

d2 smallint not null,

name varchar(10),

index(d2,d1)

) engine = MyISAM;

insert into autoincre_demo_myisam(d2, name) values(2, '2'), (3, '3'), (4, '4'),(2, '2'), (3, '3'), (4, '4');

select * from autoincre_demo_myisam;

-- char 和 varchar

create table vc(

v varchar(4),

c char(4)

);

show create table vc;

insert into vc values('ab ', 'ab ');

select concat(v, '+'), concat(c, '+') from vc;

-- text 和 blob

create table t(

id varchar(100),

context text

);

insert into t values(1, repeat('haha', 100));

insert into t values(2, repeat('haha', 100));

insert into t values(3, repeat('haha', 100));

select * from t;

insert into t select * from t;

insert into t select * from t;

select * from t;

optimize table t;

delete from t where id = 1;

optimize table t;

-- 浮点数 和 定点数

create table t2(

f float(8,1)

);

desc t2;

insert t2 value(1.23456);

select * from t2;

insert t2 value(1.25456);

select * from t2;

create table test(

c1 float(10,2),

c2 decimal(10, 2)

);

insert into test values(131072.32, 131072.32);

select * from test;

-- 日期类型选择

-- 字符集

show character set;

desc information_schema.CHARACTER_SETS;

-- 校对规则

show collation like '%gbk%';

select case when 'A' collate gbk_chinese_ci = 'a' collate gbk_chinese_ci then 1 else 0 end;

select case when 'A' collate gbk_bin = 'a' collate gbk_bin then 1 else 0 end;

select case when 'A' collate utf8_general_ci = 'a' collate utf8_general_ci then 1 else 0 end;

-- 字符集设置 -- 服务器级别 -- 数据库级别 -- 表级别 -- 字段级别

-- 服务器字符集和校对规则

show variables like 'character_set_server';

show variables like 'collation_server';

-- 数据库字符集和校对规则

show variables like 'character_set_database';

show variables like 'collation_database';

-- 表字符集和校对规则

show create table test;

-- 列字符集和校对规则

-- 连接字符集和校验规则

-- 字符集的修改

-- alter database character set ***

-- alter table tablename character set ***

-- 这两个命令都没有更新已有记录的字符集,而只是对新创建的表或记录生效

-- 已有记录的字符集调整,需要先将数据导出,经过适当的调整重新导入后才可完成。

-- 模拟将latin1字符集的数据库修改成GBK字符集的数据库的过程

-- 1. 导出表结构

-- mysqldump -uroot -p --default-character-set=gbk -d databasename > createtab.sql

-- 其中--default-character-set=gbk表示设置以什么字符集连接,-d表示只导出表结构,不导出数据。

-- 2. 手动修改createtab.sql 中表结构定义中的字符集为新的字符集。

-- 3. 确保记录不再更新,导出所有记录

-- mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename > data.sql

-- --quick 该选项用于转储大的表。它强制mysqldump从服务器一次一行地检索表中的行而不是检索所有行,并在输出前将它缓存到内存中。

-- --extended-insert 使用包括几个VALUES列表的多行INSERT语法。这样是转储文件更小,重载文件时可以加速插入。

-- --no-create-info 不导出每个转储表的CREATE TABLE语句。

-- --default-character-set=latin1 按照原有的字符集导出数据,这样导出的文件中,所有中文都是可见的,不会保存成乱码。

-- 4. 打开data.sql, 将SET NAMES latin1 修改成 SET NAMES gbk。

-- 5. 使用新的字符集创建新的数据库。

-- create dateabase databasename default charset gbk;

-- create database deepInMySql2 default charset gbk;

-- 6. 创建表,执行createtab.sql

-- mysql -uroot -p databasename < createtab.sql

-- mysql -uroot -p deepInMySql2 < createtab.sql

-- 7. 导入数据,执行data.sql

-- mysql -uroot -p databasename < data.sql

-- mysql -uroot -p deepInMySql2 < data.sql

-- 第9章

深入浅出mysql唐汉名_深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎 - 数据类型 - 字符集和校验规则 -...相关推荐

  1. mysql数据库管理维护_深入浅出MySQL 数据库开发 优化与管理维护 第3版

    资料目录: 第 一部分 基础篇 第 1章 MySQL的安装与配置 2 1.1 MySQL的下载 2 1.1.1 在Windows平台下下载MySQL 3 1.1.2 在Linux平台下下载MySQL ...

  2. 深入浅出mysql(数据库开发优化与管理维护第2版)_深入浅出MySQL:数据库开发、优化与管理维护(第2版)...

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  3. 怎么查看mysql的库名_如何查看数据库名呢?

    ·使用SQL语句:select name from v$database; ·使用show命令:show parameter db_name; ·查看参数文件:查看init.ora文件 二.数据库实例 ...

  4. 《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》一一1.2 MySQL的安装...

    本节书摘来自异步社区出版社<深入浅出MySQL:数据库开发.优化与管理维护(第2版)>一书中的第1章,第1.2节,作者: 唐汉明 , 翟振兴 , 关宝军 , 王洪权 , 黄潇,更多章节内容 ...

  5. 《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》一一第 1 章  MySQL的安装与配置...

    第 1 章 MySQL的安装与配置 深入浅出MySQL:数据库开发.优化与管理维护(第2版) 近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应 ...

  6. 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记2 WITH ROLLUP关键字

    读<深入浅出MySQL数据库开发.优化与管理维护(第2版)>笔记2 WITH ROLLUP关键字 WITH ROLLUP是可选语法,表名是否对分类聚合后的结果进行再汇总; 我自己的使用实例 ...

  7. mysql修复损坏表_在MySQL中,如何修复损坏的表

    本指南旨在作为故障排除资源和诊断MySQL设置的起点. 有时,MySQL表损坏,这意味着发生了错误,并且其中的数据无法读取. 损坏表的一些常见原因是:MySQL服务器在写数据的时候停止.外部程序同时修 ...

  8. Mysql 唯一索引长度_关于mysql索引长度的相关内容总结

    MySQL优化之-索引具体代码分析:索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型.根据存储引擎定义每个表的最大索引数和最大索引长度.所有存 ...

  9. mysql提高性能 硬件_高性能MySQL–操作系统和硬件优化

    许多不同的硬件都可以影响MySQL的性能,但我们认为最常见的两个瓶颈是CPU和I/O资源.当数据可以放在内存中或者可以从磁盘中以足够快的速度读取时,CPU可能出现瓶颈.另一方I/O瓶颈一般发生在工作所 ...

最新文章

  1. 设计Optaplanner下实时规划服务的失败经历
  2. python3 reqeusts后写入excel
  3. 算法简介、7种算法分类
  4. unity实现一个物体绕着某点旋转
  5. Linux、Windows、Mac下Docker的安装与使用
  6. 大数据相加_推动媒体融合与大数据相加发展
  7. js 有关object 、array 等引用类型的赋值问题
  8. 解决content is not allowed in prolog问题
  9. Day4:html和css
  10. ORA-01033问题解决
  11. 工业访问控制行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  12. docker-compose部署单机版nacos(自定义数据库)
  13. Sieve of Eratosthenes(埃拉托色尼筛选法)——C++实现
  14. 来自#Devoxx 2014的WebSocket螺母和螺栓的幻灯片
  15. /*输入一个字符串,判断其是否为回文。(回文字符串是指从左到右读和从右到左读完全相同的字符)*/
  16. python下载抖音视频_抖音好看的视频你想下载吗?
  17. 学习java之路之第五周
  18. 2021年度总结,一整年的精华所在!
  19. 智慧农业物联网系统解决方案
  20. 2021-07-13 安装ERLANG 以及 RabbitMQ时遇到的版本不兼容异常

热门文章

  1. 微众WeCross 跨链平台(1)平台介绍
  2. sql注入——day01
  3. 332. 重新安排行程(回溯算法)
  4. MySQL—视图(二)
  5. 用pip安装tensorflow报错SyntaxError: invalid syntax
  6. PsSetCreateProcessNotifyRoutineEx进程监控框架
  7. 004 两种方法找寻路call
  8. 原码的一位乘法和补码的一位乘法对比
  9. 项目: 最简单的飞机大战游戏
  10. Oracle中的常用的数据类型