——————————————————————
第一部分:字符集
——————————————————————
show charset; ---查看mysql支持字符集
1、服务器端
(1)实例级别
vim my.cnf
character-set-server=utf8

(2)库级别
create database oldboy charset UTF8;
create database oldboy1 charset gbk;
alter database oldboy charset utf8mb4;
show create database oldboy;

(3)表级别
create table t1 (id int ,name varchar(20)) default charset utf8;
show create table t1;
2、客户端
alter database oldboy CHARACTER SET utf8 collate utf8_general_ci;
alter table t1 CHARACTER SET latin1;
官方定义,修改后的字符集必须是之前字符集的严格超集。
————————————————————————————————
第二部分:列属性
————————————————————————————————
1)约束类:
主键 :
一个表只能有一个,非空并唯一的列可以设置为主键
create table test (id int not null primary key,name varchar(20));
或者
CREATE TABLE test (
id int(11) NOT NULL,
name varchar(20) DEFAULT NULL,
PRIMARY KEY (id)
);

    如果业务中没有,非空和唯一条件的列。我们可以人为定义一个无关列,最   好是数字列。create table ptab (pid int not null primary key AUTO_INCREMENT,pname varchar(20),page tinyint,pgen enum('M','F'));    

非空:
create table teacher (
id int not null primary key ,
name varchar(20) not null ,
state enum('y','n') not null default 'y');
唯一:
create table people (
p_id char(20) not null primary key,
name varchar(20) not null unique ,
age tinyint not null);
非负数
(2)其他
自增长 --- AUTO_INCREMENT
默认值 ---default 'y'
utf8 字符 ---->3字节
utf8mb4 字符 ---->4个字节
——————————————————————————————
第三部分:元数据获取---Informatica_schema
——————————————————————————————
什么是元数据?
1、数据库、表对象的一些定义信息都可以把它称之为元数据
2、数据库的一些状态统计
元数据是存放到数据库的系统表(基表)
利用视图批量操作实例:
1.批量备份脚本拼接
vim /etc/my.cnf
secure-file-priv=/tmp
mkdir /bak
select concat("mysqldump ", "-uroot", " -p123 ",TABLE_SCHEMA," ",TABLE_NAME," >/bak/",TABLESCHEMA,"",TABLE_NAME,".sql")from information_schema.tables into outfile '/tmp/tabbak.sh';
2.批量创建world 表结构相同的表
创建语句:
CREATE TABLE world.city_0 LIKE world.city;
USE world
SHOW TABLES;
批量操作:
SELECT CONCAT("create ","table ",TABLE_SCHEMA,"."
,TABLE_NAME," "
,"like ",TABLE_SCHEMA,".",TABLE_NAME,"_0")
FROM information_schema.tables
WHERE TABLE_SCHEMA='world';
3.information_schema 企业需求案例
统计数据量
SELECT
CONCAT(table_schema, '.', table_name) AS "Name"
,CONCAT(ROUND(table_rows / 1000, 2), 'K') AS "Rows"
,CONCAT(ROUND(data_length / ( 1024 1024 ), 2), 'M') AS "Row Size"
,CONCAT(ROUND(index_length / ( 1024
1024 ), 2), 'M') AS "Index Size"
,CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 ), 2), 'M') AS "Total"
,ROUND(index_length / data_length, 2) "Row / Index Ratio"
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC
LIMIT 10;
等待事件查看
SELECT
r.trx_id waiting_trx_id
,r.trx_mysql_thread_id waiting_thread
,r.trx_query waiting_query
,b.trx_id blocking_trx_id
,b.trx_mysql_thread_id blocking_thread
,b.trx_query blocking_query
FROM information_schema.innodb_lock_waits w
JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;

转载于:https://blog.51cto.com/13520774/2094737

MySQL数据库从入门到实战(四)相关推荐

  1. MySQL数据库从入门到实战应用(学习笔记三)

    文章目录 1.什么是事务控制 2.事务的四个特性 3.MySQL的事务控制 4.提交事务 5.事务回滚 6.什么是分区表 7.分区表的好处 8.分区表的四种类型 9.Range分区 10.List分区 ...

  2. 超经典两万字,MySQL数据库快速入门。

    「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<MySQL数据库快速入门> MyS ...

  3. Mysql数据库基础入门教程

    Mysql数据库基础入门教程 课程链接:https://www.bilibili.com/video/BV1Qb411x7Yc?p=1 2022/1/22start 一.数据库简介 1.什么是数据库? ...

  4. pandas读写MySQL数据库详解及实战

    pandas读写MySQL数据库详解及实战 SQLAlchemy是Python中最有名的ORM工具. 关于ORM: 全称Object Relational Mapping(对象关系映射). 特点是操纵 ...

  5. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  6. MySQL数据库肖睿版_正版 MySQL数据库应用技术及实战肖睿MySQL数据库数据操作数据恢复备份MySQL数据库优化My...

    基本信息 书名:MySQL数据库应用技术及实战 定价:32.00元 作者:肖睿程宁田崇峰 出版社:人民邮电出版社 出版日期:2018-01-01 ISBN:9787#115474223 字数: 页码: ...

  7. MySQL数据库新手入门教程

    相信很多做数据分析的朋友都发现,在平时做业务分析中,Excel表格是我们使用最频繁的工具.我们还发现,Excel虽然好用,但一旦数据量大了起来,比如处理二三十万条或以上数据量的时候,就会出现卡顿,甚至 ...

  8. mysql5.7语句建库_MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全

    如何下载: 我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloads/ 进入此界面下载: Downloads–>MySQL Commun ...

  9. mysql外键约束视频教学_外键约束案例_MySQL数据库 快速入门 基础+实战 视频教程_MySQL视频-51CTO学院...

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

最新文章

  1. 八步搞定个人计算机安全
  2. 在一个.net sln中包含多个project,project引用同一个dll导致的错误
  3. c语言调用函数计算分段函数值,输入x,计算并输出下列分段函数f(x)的值(保留2位小数) c语言...
  4. SVN 批量添加文件到版本库的命令脚本
  5. 【渝粤教育】电大中专学前儿童科学教育 (14)作业 题库
  6. Spring Cloud构建微服务架构-Hystrix监控面板
  7. 『004』索引-Python
  8. Hibernate POJO在序列化(JSON)时遇到的若干问题
  9. java 集合中对象的排序 和去重
  10. R语言在图上标出点坐标_利用R语言的leaflet包根据GPS信息在地图上标点
  11. 2万字-Python 用 XGBoost 进行梯度提升的数据准备(建议收藏)
  12. modscan32做主站 一直显示MODBUS MESSAGE TIME-OUT
  13. 普元eos java_普元EOS 案例
  14. 【算法】递归|迷宫回溯问题|八皇后问题
  15. iOS-规避iOS审核4.3规则的重心
  16. oracle删除两个月以前的数据,Oracle恢复删除数据
  17. Problem B. S03-03 银行利息(复利问题)
  18. 计算机软硬件维护意义,计算机软硬件故障检测维护
  19. Python+Django毕业设计郑州市智慧农贸市场管理系统(程序+LW+部署)
  20. gophish安装笔记

热门文章

  1. c++ hashset的用法_C++中set的用法
  2. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...
  3. CentOS下显卡驱动安装的相关思考
  4. 内存的字符与打印出来的字符集的区别
  5. canvas在舞台上点击后图片旋转_View绘制系列(10)Canvas基础变换
  6. ieee39节点系统介绍_太原理工大学 秦文萍,逯瑞鹏等:大规模新能源接入对电气耦合综合能源系统稳定性有何影响?...
  7. maven依赖avro_如何使用maven进行avro序列化
  8. centos7查看当前系统时间、_CentOS7 设置系统时间
  9. 数据如何导入oracle数据库,如何用Oracle导入导出工具来实现Oracle数据库移植?
  10. c++中字符与数值之间的转换函数(全网最全)