drop,delete与truncate的区别:
优先级: drop > truncate > delete
TRUNCATE 按行删除并不把删除操作记录记入日志保存(不可恢复)
DELETE 全部删除表内数据并可将删除操作记录在日志中,可以加where字句,可应用于table和view
DROP 删除整个表(结构和数据)再插入时自增长id又从1开始

复制基本原理流程
主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中,SQL线程执行binlog并通知存储引擎;
从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;
从:sql执行线程——执行relay log中的语句;

myisam与innodb的区别
1.InnoDB支持事物,而MyISAM不支持事物
2.InnoDB支持行级锁,而MyISAM支持表级锁
3.InnoDB支持MVCC, 而MyISAM不支持
4.InnoDB支持外键,而MyISAM不支持
5.InnoDB不支持全文索引,而MyISAM支持

myisam与innodb在select count(*)哪个更快,为什么?
myisam更快,因为myisam内部有一个计数器,可以直接调取

varchar与char的区别:
char是长度固定的,而varchar的长度是可以变化的
比如说存储字符串"abc":
char(10)表示存储的字符将占10个字节(包括7个空字符),大于10个字节时和varchar没区别则都将截掉超出部分
varchar(10)表示只占用3个字节的长度,当存储的字符等于或小于10时,都按实际长度存储

innodb有redo和undo两种日志...

MySQL binlog几种日志的区别
Statement:每一条会修改数据的sql都会记录在binlog中
Row:不记录sql语句上下文相关信息,仅保存哪条记录被修改
Mixedlevel: 是以上两种level的混合使用
在一条 SQL 操作了多行数据时, statement 更节省空间, row 更占用空间。但是 row模式更可靠

当 cpu 飙升到 500%时,先用 top 命令观察是不是 mysqld 占用导致的,如果不是,找出占用高的进程
如果是 mysqld 造成的看session情况,定位是不是有消耗资源的 sql 在运行找出消耗高的 sql并kill掉然后限制连接数或作出其他调整

mysqldump和xtranbackup的区别:
一般来说 100G 内的库,可以考虑使用 mysqldump。轻巧灵活备份出来的文件比较小,压缩之后更小
100G 以上的库,可以考虑用 xtranbackup。比 mysqldump 要快

表:
约束
自增长:auto_increment
非空:not null
默认值:default 'xx'
唯一:unique
指定字符集:charset //例:charset utf-8
主键:primary key

增:
create table students(
id int(15) auto_increment,
name varchar(10) not null,
sex varchar(3) default '',
age char(2),
address varchar(50),
phone char(11) not null unique,
primary key(id));
mysql> desc students;
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(15) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | NO | | NULL | |
| sex | varchar(3) | YES | | | |
| age | char(2) | YES | | NULL | |
| address | varchar(50) | YES | | NULL | |
| phone | int(11) | NO | UNI | NULL | |
+---------+-------------+------+-----+---------+----------------+
mysql> insert into students (name,sex,age,address,phone) values('zhangsan','男',26,'广东省珠海市香洲区',13356789124);
mysql> insert into students (name,sex,age,address,phone) values('金正南','女',54,'广东省珠海市拱北区',15844551634);
mysql> insert into students values('','金三胖','男',58,'朝鲜',14444444444);
mysql> insert into students values('','小泉纯一郎','男',78,'日本',14445554444);
mysql> insert into students values('','朴槿惠','女',60,'韩国',14445554774);
mysql> select * from students;
+----+------------+------+------+-----------------------------+-------------+
| id | name | sex | age | address | phone |
+----+------------+------+------+-----------------------------+-------------+
| 1 | zhangsan | 男 | 26 | 广东省珠海市香洲区 | 13356789124 |
| 2 | 金正南 | 女 | 54 | 广东省珠海市拱北区 | 15844551634 |
| 3 | 金三胖 | 男 | 58 | 朝鲜 | 14444444444 |
| 4 | 小泉纯⟼ 男 | 78 | 日本 | 14445554444 |
| 5 | 朴槿惠 | 女 | 60 | 韩国 | 14445554774 |
+----+------------+------+------+-----------------------------+-------------+

insert into student (name,money,sex,phone) values ('hk',10000,'男',188);
insert into student values('','小明',100,'',120);

删:
drop table tablename;     #删除整张表,操作会被记录
truncate tablename;        #删除整表数据,自增长id从头再来,快速,从磁盘直接删除,不可恢复
delete from student         #删除整个表的数据,自增长继续

查:
SELECT * from students limit 5;      #查询前5条
SELECT id,name,sex,money,phone from students;      #指定查询的字段
SELECT * from students where sex='男' and money>100;      #多个条件,必须同时满足
SELECT * from students where sex='男' or sex='未知' ;      #多个条件,有一个满足即可
SELECT * from students where sex !='男';      # <>也是不等于
SELECT * FROM students where addr like '%东京%';      #模糊匹配,%代表的是通配符,必须得用like
SELECT * from students a where stu_name like '姚_';      #_通配符表示任意一个单字符,姚字后面只能跟一个字
SELECT * from students ORDER BY money desc;      #order by xxx desc,根据哪个字段排序,默认是升序,降序是desc,升序asc
select * from table order by id desc,name desc;      #多个字段排序

改:
alter table oldtable rename newtable;        #改表名
alter table tablename modify name varchar(20);    #改表结构
alter table tablename change name newname varchar(20);   #改表结构
alter table tablename add age float after name;    #在name后面新增age字段
update student set money=100;    #不指定条件,修改所有
update student set money=110 where name='hk';    #只改hk

备份库:
mysqldump -u root -p mysql > ~/mysql.sql
还原库:
mysql -u root -p web < ~/web.sql
备份表:
mysqldump -u root -p 数据库名 表名 > xxx.sql
恢复表:
mysqldump -uroot -p 数据库名 < xxx.sql

mysql试题的更多相关文章

  1. mysql 试题总结

    一.MySQL的复制原理以及流程 1.复制基本原理流程 1.主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2.从:io线程——在使用start sla ...

  2. Mysql试题集锦

    1.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 1 ...

  3. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  4. php面试题之五——MySQL数据库(基础部分)

    五.MySQL数据库 mysql_num_rows() mysql_affected_rows() 这两个函数都作用于 mysql_query($query)操作的结果,mysql_num_rows( ...

  5. 乐视mysql面试题

      http://blog.itpub.net/28916011/viewspace-2093197/ 最近,朋友去乐视面试了mysql DBA,以下是我据整理的乐视mysql面试题答案,供大家参考 ...

  6. 数据库笔试面试题库(Oracle、MySQL等)

    数据库笔试面试题库(Oracle.MySQL等) 版权声明:版权所有,欢迎分享本文,转载请保留出处,否则追究法律责任,谢谢合作. 注:本文将持续更新,可关注作者微信公众号以便获得最新笔试面试资料. ⊙ ...

  7. [面试] mysql 面试题

    最近在准备面试,mysql 实在是不熟悉,就先摘录一些网上的面试题来看一下. 1. MyISAM 和 InnoDB 区别? InnoDB 支持事务处理,支持更大的并发update 和 insert 操 ...

  8. MySQL高级知识(七)——索引面试题分析

    前言:该篇随笔通过一些案例,对索引相关的面试题进行分析. 0.准备 #1.创建test表(测试表). drop table if exists test; create table test( id ...

  9. Linux运维必会的MySQL企业面试题大全

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

随机推荐

  1. webpack4 系列教程(七): SCSS提取和懒加载

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)webpack4 系列教程(七): SCSS 提取和懒加载. 个人技术小站: https://god ...

  2. Vue 系列之 渲染与事件处理

    渲染相关 列表渲染 与 条件渲染 Vue 中的常见的渲染有 列表渲染 和 条件渲染 所谓条件渲染,则是通过添加一定的逻辑条件来进行 Dom 元素的操作 v-if v-else v-else-if &l ...

  3. 简单说一下UWP中的JumpList

    在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善.针对磁贴方面,微软为我们提供了一组新的API来扩充我们对应用的交互方式 ...

  4. JS 中的 __proto__ 、prototype、constructor

    首先 先解释这三个属性: (1) prototype  : 它是函数独有的,从一个函数指向一个对象(函数的原型),含义是函数的原型对象,也就是这个函数所创建的实例的原型对象.(普通函数的该属性没有作用 ...

  5. React 入门学习笔记整理(三)—— 组件

    1.定义组件 1)函数组件 function GreateH(props){ return <div> <h2>hello,{props.name}</h2> &l ...

  6. input 输入框 change 事件和 blur 事件

    输入框的 change 和 blur  事件绝大多数情况下表现是一致的,输入结束后离开输入框会先后触发 change 和 blur.那么这两个事件的区别在哪呢? 当文本框获得焦点后,没有输入任何内容, ...

  7. 在Salesforce中使用静态资源

    静态资源 静态资源是Salesforce中默认的一种数据类型,用户可以上传各种文件,比如zip文件.jpg文件.css文件.图像文件等. 在Visualforce页面.Lightning框架的开发过程 ...

  8. Fiddler抓包使用教程-Https

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72956016 本文出自[赵彦军的博客] 开启 Https 抓包 Fiddler 默 ...

  9. CSS模糊效果及其兼容方法

    今天在整理IE滤镜时网站访问这里,居然找到模糊滤镜blur(),感觉太不可思议了,想不到IE居然会有这么多种滤镜效果,这基本上是模仿PS的.今天的重点是模糊滤镜 CSS模糊效果及其兼容方法 实例 兼容 ...

  10. TensorFlow实现Softmax回归(模型存储与加载)

    # -*- coding: utf-8 -*- """ Created on Thu Oct 18 18:02:26 2018 @author: zhen "& ...