什么是MySQL的基础语句
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章给大家主要讲的是关于什么是MySQL的基础语句的内容,感兴趣的话就一起来看看这篇文章吧,相信看完什么是MySQL的基础语句对大家多少有点参考价值吧。查看当前MYSQL支持的存储引擎show e
千家信息网最后更新 2025年02月01日什么是MySQL的基础语句本篇文章给大家主要讲的是关于什么是MySQL的基础语句的内容,感兴趣的话就一起来看看这篇文章吧,相信看完什么是MySQL的基础语句对大家多少有点参考价值吧。
- 查看当前MYSQL支持的存储引擎
show engines; - 查看某一用户的权限
show grants for UserName; - 如何得知当前Binary Log文件和Position值
show master status; - 用什么命令切换Binary Log
flush logs; - 用什么命令修复MyISAM表
repaire table TabName; - 用什么命令整理表数据文件的碎片
optimize table TabName; - 如何得到TabA表的建表语句
show create table TabA; - 创建TabB表,完整拷贝TabA表的结构和索引,不要数据
create table TabB like TabA; - 为TabA表新增字段ColA,精度无偏差的小数型,10位整数,2位小数,加索引
alter table TabA add ColA decimal(12,2), add key (ColA); - 如何清空TabB表的数据
truncate table TabB; - 如何不进入mysql客户端,执行一条SQL命令,帐号User,密码Passwd,库名DBName,SQL为"select sysdate();"
mysql -uUser -pPasswd -D DBName -e "select sysdate();" - 如何从slow log中分析出所有的select语句,按次数以倒序输出前20条,日志名为slow_log.file
mysqldumpslow -g 'select' -s c -r slow_log.file - 如何从BinLog中分析出时间从"2017-10-27 13:00:00"到"2017-10-27 18:00:00"的anjuke库的SQL语句,日志名为bin_log.file
mysqlbinlog -d anjuke --start-datetime='2017-10-27 13:00:00' --stop-datetime='2017-10-27 18:00:00' bin_log.file - 创建用户,用户名为iamdba,密码为mypasswd,访问来源10.11.8.X,即8段IP都允许,对anjuke库所有表拥有"增删改查"权限
grant insert,delete,update,select on anjuke.* to iamdba@'10.10.8.%' identified by 'mypasswd'; - 如何执行一个SQL文件,帐号User,密码Passwd,库名DBName,SQL文件名为sql.file
mysql -uUser -pPasswd -D DBName - 用select方式导出TabA的所有数据到/tmp/TabA.txt文件
select * from TabA into outfile '/tmp/TabA.txt'; - 导入TabA.txt数据到TabB表,如主键或唯一键冲突,覆盖tabB表中的数据
load data [local] infile '/tmp/TabA.txt' replace into table TabB; - 用mysqldump命令导出anjuke库里的TabB表中满足"ColA > 100"的数据到TabB.sql文件,不要导出建表语句,帐号User,密码Passwd
mysqldump -uUser -pPasswd --no-create-info anjuke TabB -w "ColA > 100" >TabB.sql
PS: --no-create-info 也可以写为 -t - 切换同步到master 10.11.8.11,端口为3307,用户名repl,密码为passwd,起点BinLog为db-master.000001,位置123456
change master to master_host='10.11.8.11', master_port=3307, master_user='repl', master_password='passwd', master_log_file='db-master.000001', master_log_pos=123456; - 启动slave的sql进程,并在同步到master的db-master.000003文件123456位置上停止
start slave sql_thread util master_log_file='db-master.000003', master_log_pos=123456; - 建一个满足以下五种条件的最优索引
where a=? and b=? and c=?
where a=? and b>? and c=?
where a=? and b in (?) and c=?
where a=? and c=? order by b
where a=? order by c,b
创建顺序为(a,c,b)的复合索引 - 有二个复合索引(a,b)和(c,d),以下语句会怎样使用索引?可以做怎样的优化?
select from Tab where (a=? and b=?) or (c=? and d=?)
根据MYSQL的机制,只会使用到一个筛选效果好的复合索引,可以做如下优化
select from Tab where a=? and b=?
union
select * from Tab where c=? and d=? - 如何统计文件a.txt有多少非空行?
grep -c '^..*$' a.txt
或
grep -v '^$' a.txt | wc -l - 文件b.txt,每行以":"符分成5列,如"1:apple:3:2017-10-25:very good",如何得到所有行第三列的总合值
awk 'BEGIN {FS=":"; s=0} {s+=$3} END {print s}' b.txt - 截取文件c.txt的第60至480行记录,忽略大小写,统计出重复次数最多的那条记录,及重复次数
sed -n '60,480'p c.txt | sort | uniq -i -c | sort -rn | head -n 1
二、简答题 5x5 - MyISAM和InnoDB各有哪些特性?分别适用在怎样的场景下?
MyISAM,表锁,不支持事务,表损坏率较高,分为MYD数据文件和MYI索引二个文件,读写并发不如InnoDB,适用于insert较多的场景,且支持直接复制文件,用以备份数据
InnoDB,行锁,支持事务,crash后具有recove机制,只有ibd文件,分为数据区和索引区,有较好的读写并发能力,但做count()运算时相当消耗CPU - MySQL原生支持的备份方式有哪些,并说出其优缺点?
(1) 直接拷贝数据文件,必须是MyISAM表,且使用flush tables with read lock;语句,优点是简单方便,缺点是须要锁写,且只能在同版本的MySQL上恢复使用
(2) mysqldump,导出的是SQL语句,所以可以跨版本恢复,但是需要导入数据和重建索引,恢复用时会较长,如果是MyISAM表,同样需要锁表,如果是InnoDB表,可以使用--single-transaction参数避免此问题 - 在创建和使用索引时,有哪些要注意的地方,有什么规则?
避免索引过多,会影响写性能
给筛选效果低的字段加索引,几乎无效,如性别、状态标志等
每条查询执行时,只会使用一个索引,有需要时应该创建复合索引
复合索引使用时遵守"从左到右"原则,严禁左百分号
不要在索引字段上有运算操作和使用函数,将无法使用索引 - 如何分析一条SQL语句的执行性能,关注哪些信息?
不论性能如何,不要有子查询和嵌套SQL,尽量不要有join查询
使用explain命令,观察type列,可以知道是否是全表扫描,和索引的使用形式,观察key可以知道使用了哪个索引,观察key_len可以知道索引是否使用完成,观察rows可以知道扫描的行数是否过多,观察extra可以知道是否使用了临时表和进行了额外的排序操作 - MySQL通过什么机制来控制访问权限?
mysql库中,从user表到host表和db表,再到tables_priv表和colums_priv表
索引
文件
数据
语句
命令
密码
支持
观察
用户
基础
字段
性能
机制
权限
次数
帐号
查询
事务
位置
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里云服务器访问失败
数据库安全包括
服务器客观性管理联机
幼儿园教师做好网络安全工作
5g网络安全是技术问题
如何把字典导入数据库mysql
沈阳有哪些高科技互联网公司
数据库关系模型图怎么连线
镜像数据库服务器断开
辽宁时代网络技术服务五星服务
网络安全相关宣传
微信订阅号数据库
3g网络技术标准
php管理服务器
软件开发团队都需要什么人员
数据库和php可以做的简单系统
宝山区进口软件开发诚信服务
南京蜂群网络技术有限公司
网络安全答题总结250字左右
服务器怎么开启共享服务
实况足球手游存取数据库错误
区块链平台软件开发
dw建立数据库的步骤
数据库可以放什么软件
国道数据库
维护网络安全防范措施
汕尾通信软件开发供应商家
数据库系统管理员做什么的
web服务器代理器
软件开发面试题app