设为首页 收藏本站
查看: 735|回复: 0

[经验分享] MySQL数据库从入门到实战(四)

[复制链接]

尚未签到

发表于 2018-10-6 08:35:03 | 显示全部楼层 |阅读模式
  ——————————————————————
  第一部分:字符集
  ——————————————————————
  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>

  ,CONCAT(ROUND(index_length / ( 1024  1024  ), 2), 'M') AS "Index>  ,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;



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613350-1-1.html 上篇帖子: 第6章WEB06- MySQL篇 下篇帖子: Loading class `com.mysql.jdbc.Driver'. This is dep-bournew的博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表