mysql创建数据库

MySQL查看SQL语句执行效率

落爺英雄遲暮 提交于 2020-01-30 17:08:04
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法:explain select … from … [where ...] 例如:explain select * from news; 输出: +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ 下面对各个属性进行了解: 1、id:这是SELECT的查询序列号 2、select_type:select_type就是select的类型,可以有以下几种: SIMPLE:简单SELECT(不使用UNION或子查询等) PRIMARY

MySQL查看SQL语句执行效率

六月ゝ 毕业季﹏ 提交于 2020-01-30 17:07:35
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法:explain select … from … [where ...] 例如:explain select * from news; 输出: +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ 下面对各个属性进行了解: 1、id:这是SELECT的查询序列号 2、select_type:select_type就是select的类型,可以有以下几种: SIMPLE:简单SELECT(不使用UNION或子查询等) PRIMARY

你在家快疯了?20 道数据库面试解析学起来

人走茶凉 提交于 2020-01-30 15:49:37
面试的时候,发现数据库方面,忘得一塌糊涂,抽时间整理了一些数据库方面的题。 事务四大特性(ACID)原子性、一致性、隔离性、持久性? 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL 默认是哪个级别? MySQL 常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别? MySQL 的 MyISAM 与 InnoDB 两种存储引擎在,事务、锁级别,各自的适用场景? 查询语句不同元素(where、jion、limit、group by、having 等等)执行先后顺序? 什么是临时表,临时表什么时候删除? MySQL B+Tree 索引和 Hash 索引的区别? 聚集索引和非聚集索引区别? 有哪些锁(乐观锁悲观锁),select 时怎么加排它锁? 非关系型数据库和关系型数据库区别,优势比较? 数据库三范式,根据某个场景设计数据表? 数据库的读写分离、主从复制,主从复制分析的 7 个问题? 使用 explain 优化 sql 和索引? MySQL 慢查询怎么解决? 什么是 内连接、外连接、交叉连接、笛卡尔积等? mysql 都有什么锁,死锁判定原理和具体场景,死锁怎么解决? varchar 和 char 的使用场景? mysql 高并发环境解决方案? 数据库崩溃时事务的恢复机制(REDO 日志和 UNDO 日志)? 事务四大特性(ACID)原子性、一致性

一千行 MySQL 学习笔记

风流意气都作罢 提交于 2020-01-30 13:44:25
原文: 一千行 MySQL 学习笔记 基本操作 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 数据库操作 /* 数据库操作 */ ------------------ -- 查看当前数据库 SELECT DATABASE(); -- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version(); -- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项 数据库选项: CHARACTER SET charset_name COLLATE collation_name -- 查看已有库 SHOW DATABASES[ LIKE 'PATTERN'] -- 查看当前库信息 SHOW CREATE DATABASE 数据库名 -- 修改库的选项信息 ALTER DATABASE 库名 选项信息 -- 删除库 DROP

mysql 删除表中记录

烂漫一生 提交于 2020-01-30 09:08:47
一、清除mysql表中数据 delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。 delete的效果有点像将mysql表中所有记录一条一条删除到删完, 而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。 二、删除表中的某些数据 delete from命令格式:delete from 表名 where 表达式 例如,删除表 MyClass中编号为1 的记录: 复制代码 代码如下: mysql> delete from MyClass where id=1; 三、修改表 1.选择数据库 >use 数据库名; 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 来源: https://www.cnblogs.com/hehexu/p/7898701.html

170309、MySQL存储引擎MyISAM与InnoDB区别总结整理

谁都会走 提交于 2020-01-30 07:10:16
1、MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。 2、MyISAM与InnoDB存储引擎的主要特点 MyISAM存储引擎的特点是:表级锁、不支持事务和全文索引,适合一些CMS内容管理系统作为后台数据库使用,但是使用大并发、重负荷生产系统上,表锁结构的特性就显得力不从心; 以下是MySQL 5.7 MyISAM存储引擎的版本特性: InnoDB存储引擎的特点是:行级锁、事务安全(ACID兼容)、支持外键、不支持FULLTEXT类型的索引(5.6.4以后版本开始支持FULLTEXT类型的索引)。InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎。InnoDB是为处理巨大量时拥有最大性能而设计的。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。 以下是MySQL 5.7 InnoDB存储引擎的版本特性: 注意: InnoDB表的行锁也不是绝对的,假如在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如 update table set num=1 where name like “a%” 。 两种类型最主要的差别就是InnoDB支持事务处理与外键和行级锁。而MyISAM不支持

Linux下CentOS 7安装mysql8.0.18以及自启动

99封情书 提交于 2020-01-30 07:02:04
本次安装的mysql版本是mysql8.0.18,安装包在这里,有需要的小伙伴 点击下载 ,提取码:qbe3。如需其他版本, 点击这里 前往官网下载对应版本。 一、检查Linux是否安装了mysql #使用如下命令,如果有的话需要先卸载干净才能够继续下一步安装 rpm - qa | grep - i mysql #移除系统原来的mysql包,以免影响后续安装 rpm - qa | grep mariadb rpm - e mariadb - libs - 5.5 .44 - 2. el7 . centos . x86_64 yum remove mariadb - libs - 5.5 .44 - 2. el7 . centos . x86_64 二、使用安装包传到Linux,我用的工具是Xftp #使用tar命令解压安装包 tar - xvf mysql - 8.0 .18 - linux - glibc2 . 12 - x86_64 . tar #解压mysql - 8.0 .18 - linux - glibc2 . 12 - x86_64 . tar . xz文件 tar - xvf mysql - 8.0 .18 - linux - glibc2 . 12 - x86_64 . tar . xz #解压后的文件夹重命名并移动到 / usr / local目录下 mv

主从复制,高可用mha

让人想犯罪 __ 提交于 2020-01-30 06:25:35
一.主从复制 1.修改主库配置文件 [root@db01 ~]# vim /etc/my.cnf [mysqld] log_bin=mysql-bin binlog_format=row server_id=1 2.重启数据库 [root@db01 ~]# /etc/init.d/mysqld restart 3.连接数据库 [root@db01 ~]# mysql -uroot -p1 4.创建主从复制用户 mysql> grant replication slave on *.* to rep@'%' identified by '123'; 5.记录binlog名字和binlog位置点 mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 317 |

day28 JavaWEB阶段——JDBC笔记(mysql-5.1.37和mysql-8.0.15数据库驱动包,SQL 注入原因和解决方案,PreparedStatement 完成增、删、改、查)

戏子无情 提交于 2020-01-30 03:54:24
JDBC mysql-5.1.37和mysql-8.0.15数据库驱动包下载 ,如何导入IDEA往下看 今日源码 链接: https://pan.baidu.com/s/12ibAtAjbaRGFPuAcaA52Dg 提取码:n6ux 第1节 回顾 1.1 表连接 内连接: 隐式、显式 隐式: 没有 join,使用 where 显式: inner join…on 外连接: 左连接和右连接 左连接: left outer join … on 右连接: right outer join … on 1.2 子查询 三种情况: 单行单列:比较运算符:>、<、= 多行单列:使用 in 关键字 多行多列:放在 from 后面,做为一张表再次查询 1.3 备份与还原 备份:mysqldump -u 用户名 -p 密码 数据库 > 文件名 还原: 登录使用数据库 use 数据库 source 文件名 1.4 事务 事务四个特性 ACID:原子性、一致性、隔离性、持久性 在 mysql 中有三条语句: 开启事务:start transaction 提交事务:commit 回滚事务:rollback 设置事务回滚点:savepoint 名字 回到回滚点:rollback to 名字 第2节 学习目标 能够理解 JDBC 的概念 能够使用 DriverManager 类 能够使用 Connection

Linux下安装mysql

孤人 提交于 2020-01-30 02:14:57
1、Linux下安装mysql 通过以下链接安装的 https://www.jianshu.com/p/276d59cbc529 2、启动mysql sudo /usr/local/mysql/support-files/mysql.server start 3、登录mysql mysql -uroot -p1 4、创建一个数据库 create database test1; 4.1创建数据库时指定编码格式 create database if not exists test3 default character set 'UTF8'; 4.2 修改已有数据库的编码方式 alter database test3 default character set 'GBK'; 5、显示当前所有数据库 show databases; 5.2 查看数据库的详细信息 show create database test3; 6、若数据库不存在则创建并查看警告信息 create database if not exists test1; 7、查看上一步操作产生的警告信息 show warnings; 8、管理数据库 8.1、使用数据库时需要首先打开数据库 --test3:代表数据库的名字 use test3; 8.2 显示当前使用的是哪个数据库 select database(); 8.3