mysql创建数据库

MySQL 常用命令速查表:日常开发、求职面试必备良方!

旧巷老猫 提交于 2020-03-17 18:47:46
备注 :PDF 版本无法上传;如有需要,欢迎留下邮箱,我发给你。 文章目录 连接服务器 查看帮助 查看连接 退出连接 账户和权限 创建用户 查看用户 修改密码 锁定/解锁用户 用户授权 查看权限 撤销权限 管理角色 删除用户 管理数据库 查看数据库 创建数据库 切换数据库 删除数据库 管理表 创建表 查看所有表 查看表结构 增加字段 修改字段 删除字段 删除表 索引与约束 创建索引 查看索引 修改索引 删除索引 增加约束 删除约束 查询语句 单表查询 查询条件 排序操作 限定数量 分组操作 多表连接 子查询 集合运算 通用表表达式 DML 语句 插入数据 更新数据 删除数据 合并数据 事务控制 开始事务 提交事务 回滚事务 事务保存点 视图 创建视图 查看所有视图 查看视图定义 重命名视图 删除视图 存储过程/函数 创建存储过程/函数 调用存储过程/函数 删除存储过程/函数 触发器 创建触发器 查看触发器 删除触发器 备份与恢复 使用 mysqldump 备份数据库 使用 mysql 还原数据库 速查表(Cheat Sheet),顾名思义就是为了在需要的时候方便快速查询相关知识点。本文精心为大家整理了 MySQL 中最常使用的语句和命令,绝对是日常开发、求职面试的必备良方!😎 连接服务器 使用 mysql 客户端工具连接 MySQL 服务器的命令行如下: mysql [ -h

ubuntu 安装 mysql 5.7 简记

空扰寡人 提交于 2020-03-17 11:59:38
安装: apt -get install mysql -server 会安装最新版本的 mysql ,安装时会提示输入 root 的密码 进入 mysql: mysql -u root -p 进入后会出现 mysql> 的提示符。 创建一个用户,下面例子中的用户是 sqoop: create user 'sqoop'@'localhost' identified by '123456'; create user 'sqoop'@'%' identified by '123456'; 创建数据库,并分配权限 create database sqoop_test; flush privileges; grant all privileges on `sqoop_test`.* to 'sqoop'@'%' identified by '123456'; grant all privileges on `sqoop_test`.* to 'sqoop'@'localhost' identified by '123456'; 创建后,用 navicat 联接数据库,可是连不上(mysql 是装在虚拟机里的,navicat 在主机上)。 需要修改 /etc/mysql/mysql.conf.d/mysqld.cnf 里的 bind-address 的值改成 0.0 .0 .0 重启

使用MySQL SQL线程回放Binlog实现恢复

Deadly 提交于 2020-03-17 11:48:34
目录 1. 需求部分 1.1 基于MySQL复制同步特性,尝试使用Replication的SQL线程来回放binlog,可基于以下逻辑模拟场景 1.2 基于题目1.1,考虑是否可以做到以下场景的恢复 2.操作部分 2.1 环境准备及故障模拟 2.2 数据恢复 2.3 只恢复单个库的数据 2.4 只恢复单个表的数据 2.5 恢复到指定的GTID或position点 2.6 提升恢复效率的参数优化 2.7 使用复制线程与使用mysqlbinlog恢复的效率对比 2.8 总结 1. 需求部分 1.1 基于MySQL复制同步特性,尝试使用Replication的SQL线程来回放binlog,可基于以下逻辑模拟场景 做全量xtrabackup备份模拟日常备份 执行sysbench压测4张表,20个线程,压测10分钟,模拟大量binlog 删除实例模拟数据库被误删除或硬件故障(binlog需要保留) 使用xtrabackup恢复全量备份 使用MySQL Replication SQL线程回放binlog(提示:恢复前需要将relay_log_recocery参数设置为0) 1.2 基于题目1.1,考虑是否可以做到以下场景的恢复 只恢复单个库的数据 只恢复单个表的数据 将数据恢复到指定的GTID或者position点(如恢复到误操作drop之前的GTID) 是否可以通过参数调整提升回放效率

mySQL基础

爷,独闯天下 提交于 2020-03-17 07:45:03
mySQL 一、为什么要学习数据库 二、数据库的相关概念 DBMS、DB、SQL 三、数据库存储数据的特点 四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查询 ★ 排序查询 ★ 常见函数 ★ 分组函数 ★ 分组查询 ★ 连接查询 ★ 子查询 √ 分页查询 ★ union联合查询 √ 六、DML语言的学习 ★ 插入语句 修改语句 删除语句 七、DDL语言的学习 库和表的管理 √ 常见数据类型介绍 √ 常见约束 √ 八、TCL语言的学习 事务和事务处理 九、视图的讲解 √ 十、变量 十一、存储过程和函数 十二、流程控制结构 数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言 数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。 4、表由列组成

Linux 安装mysql数据库

醉酒当歌 提交于 2020-03-17 07:28:58
L inux 安装mysql数据库 1.1 检查 linux 系统版本 [root@rabbitmq2~]# cat /etc/system-release CentOS Linux release 7.3.1611 (Core) 检查是否已经安装过mysql,执行命令 [root@localhost / ]# rpm - qa | grep mysql 如果有安装过删除命令如下: rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64 再次执行查询命令,查看是否删除 [ root@localhost / ] # rpm - qa | grep mysql 2. 查询所有Mysql对应的文件夹命令: [root@localhost /]# whereis mysql mysql: /usr/bin/mysql /usr/include/mysql [root@localhost lib]# find / -name mysql /data/mysql /data/mysql/mysql 删除相关目录或文件 [root@localhost /]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 3. 3、检查mysql用户组和用户是否存在,如果没有

关于MySQL的范式

ⅰ亾dé卋堺 提交于 2020-03-17 07:21:39
1、什么是范式? 范式就是在设计数据库表的时候,可以遵循的规范。范式分为:第一范式、第二范式、第三范式、其他更高级的范式。 2、第一范式(1NF) 是指在关系模式数据中,要求所有的字段都应该具有原子性,不可再分。如下图所示: 每个学生的相关信息都不能再拆分。但是当修改张三到MySQLo2的时候,因为有两个张三,不知道具体该是那个张三。 缺点:不能唯一的标识某一条记录 3、第二范式(2NF) 第二范式要求数据库表中的每一个实例或记录必须可以被唯一的区分,简而言之就是给表一个主键字段。 第二范式是为了解决第一范式的缺点应运而生的。即满足第二范式必须先满足第一范式。 缺点:对重复存储数据不做约束(即班级、班主任) 4、第三范式(3NF) 第三范式要求一个表中不能有关联属性信息,数据与数据的关联性通过主外键相联系。 第三范式是第二范式的一个子集。即满足第三范式必须先满足第二范式。 如下图:以下学生都在同一个班级里,都是同一个班主任。 如下图:通过外键将学生信息和班级信息联系在一起。( 外键的值:是另一个表的主键 ) 练习题: 1、下面创建学生表student的SQL语句,正确的是? A create table student( id int primary key auto_increment,name varchar(10), sex tinyint(1) default 1 ) B

Mysql有哪些优化

久未见 提交于 2020-03-17 03:41:42
1.表的设计合理化 2.给搜索字段建立索引 索引提供了高效访问数据的方法,加快了查询的速度。使用所以可以快速的定位到表中的某条记录,从而提高数据库查询的速度,提高数据库的性能。如果查询的时候没有使用索引,查询语句将扫描表中的所有记录。在数据量大的情况下,这样查询的速度会很慢。如果使用索引进行查询,查询语句可以根据索引快速定位到待查询的记录,从而减少查询的记录数,达到提高查询速度的目的。 创建索引: 在执行CREATE TABLE语句时可以创建索引 ALTER TABLE 用来创建普通索引、唯一索引(UNIQUE)、主键索引(PRIMARY KEY)和全文索引(FULLTEXT) 如: ALTER TABLE 表名 ADD INDEX 索引名(字段名) ALTER TABLE 表名 ADD UNIQUE (字段名) ALTER TABLE 表名 ADD PRIMARY KEY (字段名) ALTER TABLE 表名 ADD FULLTEXT (字段名) 也可以使用CREATE创建索引 注意点 :不能用CREATE INDEX语句创建PRIMARY KEY索引 查看索引: show index from 表名 删除索引: drop index index_name on table_name 3.选择正确的存储引擎 Mysql常用的引擎: InnoDB引擎

小谈PHPMYSQL分页原理及实现

南楼画角 提交于 2020-03-17 01:52:10
在看本文之前,请确保你已掌握了PHP的一些知识以及MYSQL的查询操作基础哦。 作为一个Web程序,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就可以了,可是假如你的网站是几千甚至几十万会员的话,如果都在一页打开的话无论对浏览器还是观看者都是一种折磨。 相信每个学习PHP的新手都会对分页这个东西感觉很头疼,不过有了默默的这一水帖,你肯定会拍拍脑袋说,嘿,原来分页竟然如此简单?的确,现在请深呼吸一口新鲜的空气,仔细的听默默给你一点一点的分解。 假设我们要处理1000条数据,要在每页中显示10条,这样的话就会分100页来显示,咱们先看一看在mysql里提取10条信息是如何操作的。 Select * from table limit 0,10 上面是一句很简单的mysql查询语句,它的作用是从一个名叫table的表里提取10条数据,并且把所有字段的值都获得。 关键的地方就在这段“limit 0,10”,它其中的0是以0为起始点,后面的10则是显示10条数据,那么我们要以10为起始点,显示到第20条数据该怎么写呢? 可能很多大大会心直口快的说“limit 10,20”嘛!啊哦,这样可就错误了哦,正确的写法是“limit 10,10”它后面的参数并非是结束点而是要提取的数目,记住哦。 懂得了如何提取10条数据

PHP&MYSQL分页原理及实现

↘锁芯ラ 提交于 2020-03-17 01:51:45
原文: http://www.sudu.cn/info/html/edu/php/20071031/9391.html 作为一个 Web 程式,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就能够了,可是假如您的网站是几千甚至几十万会员的话,假如都在一页打开的话无论对浏览器还是观看者都是一种折磨。 相信每个学习 PHP 的新手都会对分页这个东西感觉很头疼,但是有了默默的这一水帖,您肯定会拍拍脑袋说,嘿,原来分页竟然如此简单?的确,现在请深呼吸一口新鲜的空气,仔细的听默默给您一点一点的分解。 假设我们要处理 1000 条数据,要在每页中显示 10 条,这样的话就会分 100 页来显示,咱们先看一看在 mysql 里提取 10 条信息是如何操作的。 Select * from table limit 0,10 上面是一句很简单的 mysql 查询语句,他的作用是从一个名叫 table 的表里提取 10 条数据,并且把任何字段的值都获得。 关键的地方就在这段“ limit 0, 10 ” ,他其中的 0 是以 0 为起始点,后面的 10 则是显示 10 条数据,那么我们要以 10 为起始点,显示到第 20 条数据该怎么写呢? 可能很多大大会心直口快的说“ limit 10,20” 嘛!啊哦,这样可就错误了哦,正确的写法是“ limit 10

Linux 使用rpm创建 mysql8

不羁岁月 提交于 2020-03-16 21:48:44
数据库包下载:https://pan.baidu.com/s/1U1x_HSiLBzlcR6HLTRoF8g 提取码:b5vt 下载后上传到服务器下,我放的目录是/usr/local 安装mysql步骤: 清理环境 centos7会自带一个mariadb 查看是否已安装 rpm -qa |grep -i mysql rpm -qa |grep -i mariadb(centos7默认系统自带的) mariadb是从mysql来的,是它的一个分支,需要清理掉 清理掉mariadb包 用yum直接安装你的话,用的mariadb的yum源,它跟mysql官方正式版不太一样,我们要安装官方正式版,就需要清掉mariadb,然后手动安装自己下载的官方正式版mysql rpm -e 加上包名,把mariadb包清掉 可以看到用rpm删除会失败,提示有依赖关系的软件需要安装 rpm -e mariadb-libs-5.5.64-1.el7.x86_64 rpm删除时如果有依赖关系,可以用yum remove + 包名来删除mariadb 解压上传的 mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 开始安装: 一般用装软件用yum直接安装也可以,但是有一个问题