MySQL数据库环境配置与基本操作

  • 1 环境配置
    • 1.1 MySQL安装与卸载
    • 1.2 SQLyog安装
    • 1.3 SQL简介
  • 2 基本操作
    • 2.1 DDL*(Data Definition Language)*
      • 2.1.1 查询操作
      • 2.1.2 创建操作
      • 2.1.3 删除操作
      • 2.1.4 修改操作
    • 2.2 DML*(Data Manipulation Language)*
      • 2.2.1 增加数据
      • 2.2.2 修改数据
      • 2.2.3 删除操作
    • 2.3 DQL*(Data Query Language)*
      • 2.3.1 基本查询操作
      • 2.3.2 条件查询
      • 2.3.3 排序查询
      • 2.3.4 聚合函数
      • 2.3.5 分组查询
  • MySQL高级应用

1 环境配置

1.1 MySQL安装与卸载

  1. 下载地址: mysql-installer-community-5.7.28.0.msi

  2. 安装

    按照提示一步步操作即可,有几个需要注意的地方:


    如果需要配置环境变量,①新建MYSQL_HOME变量,并配置: C:\Program Files\MySQL\MySQL Server 5.7;②编辑path系统变量,将 %MYSQL_HOME%\bin添加到path变量后。

  3. 卸载

    找到 Mysql安装目录下的 my.ini 文件,找到定义datadir的语句,datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data,这是用来保存数据文件的目录,将其复制;在控制面版卸载MySQL后,找到之前复制的路径,删除即可。

1.2 SQLyog安装

下载地址: SQLyog 12免费版

1.3 SQL简介

分类 说明
数据定义语言 DDL(Data Definition Language),用来定义数据库对象:数据库、表、列等。
数据操作语言 DML(Data Manipulation Language),用来对数据库中表的记录进行更新。
数据查询语言 DQL(Data Query Language),用来查询数据库中表的记录。
数据控制语言 DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
数据库(初始化生成) 作用
information_schema 信息数据库,存放其他数据库的信息。
mysql MySQL的核心数据库,保存用户和权限
performance_schema 保存性能相关数据,监控MySQL的性能。
sys 记录了DBA所需要的一切信息,让DBA快速了解数据库的运行情况。

2 基本操作

2.1 DDL*(Data Definition Language)*

2.1.1 查询操作

-- 查询当前数据库
SELECT DATABASE();
-- 查询MySQL中有哪些数据库
SHOW DATABASE;
-- 切换数据库
USE 表名;  -- 例如USE db_1;
-- 查看表结构
DESC 表名

2.1.2 创建操作

-- 创建数据库并指定字符集
CREATE DATABASE db_1 CHARACTER SET utf8;
-- 创建表的语法格式
CREATE TABLE 表名 {字段1名称 字段类型(长度),字段2名称 字段类型(长度),字段3名称 字段类型  -- 最后一个字段不加逗号
};
-- 创建一个与指定表结构相同的表
CREATE TABLE test2 LIKE test1;
-- MySQL常见的数据类型:int double char(字符串,指定后占用固定长度) varchar(字符串,指定后占用实际长度) date datetime

2.1.3 删除操作

-- 永久删除数据库
DROP DATABASE 数据库名;
-- 永久删除表
DROP TABLE  表名;
-- 先判断后删除
DROP TABLE IF EXISTS test1;
-- 删除字段(列)
ALTER TABLE TableName DROP column_name;

2.1.4 修改操作

-- 修改数据库的字符集
ALTER DATABASE 数据库名 CHARACTER SET utf8;
-- 修改表的名称
RENAME TABLE 旧表名 TO 新表名;
-- 向表中添加字段
ALTER TABLE TableName ADD column_new VARCHAR(20);
-- 修改表中列的类型或长度
ALTER TABLE TableName MODIFY column_name CHAR(10);
-- 修改字段名
ALTER TABLE TableName CHANGE column_name column_New_name VARCHAR(10);

2.2 DML*(Data Manipulation Language)*

2.2.1 增加数据

-- 向表中插入数据
-- 1.插入指定字段的值
INSERT INTO TableName (column_name1,column_name2,column_name3) VALUES(123,'张三','abc');
-- 如果是一组数据包含了全部字段,也可以这么写:
INSERT INTO TableName VALUES(123,'张三','abc');
-- 在插入varchar char date 类型的数据时,必须用单引号或双引号包裹

2.2.2 修改数据

-- 把指定表中的某列的值全部修改
UPDATE TableName SET column_name = 值
-- 把指定表的某列中值为指定值的数据全部修改
UPDATE TableName SET column_name = 值 ,WHERE 条件表达式:column_name = 值
-- 例如
UPDATE student SET age = 20, name = 'zhangsan' WHERE sid = 6;

2.2.3 删除操作

-- 删除一条数据
DELETE FROM TableName WHERE column_name = 值;
-- 删除指定表中所有数据
DELETE FROM TableName;  -- 逐条删除
TRUNCATE TABLE TableName; -- 删除整张表,然后再创建一个一模一样的表

2.3 DQL*(Data Query Language)*

2.3.1 基本查询操作

查询操作并不会对原有数据修改,只是取出数据并可以按照语句操作后显示。

-- 查询表中的所有数据
SELECT * FROM TableName;  -- * 表示所有的列(字段)
-- 查询所有数据,只显示指定列(字段)
SELECT column1_name,column2_name FROM TableName;
-- 查询所有数据,然后给列名改为中文
SELECT column1_name AS '中文别名1',column2_name AS '中文别名2',column3_name '中文别名3'  -- AS可以省略
FROM TableName;
-- 去重查询
SELECT DISTINCT column_name FROM TableName;
-- 数据运算并显示
SELECT column_name,column2_name + 100 AS column2_name FROM TableName;

2.3.2 条件查询

  1. 一般条件插询
-- 查询表中指定列值为指定值的数据
SELECT * FROM TableName WHERE column_name = 指定值;
-- 查询表中指定列值不为指定值的数据
SELECT * FROM TableName WHERE column_name != 指定值;     -- 或者用<>符号
-- 查询表中指定列值为指定范围的数据
SELECT * FROM TableName WHERE column_name BETWEEN 特定范围下限 AND 特定范围上限;
-- 查询表中指定列值匹配几个指定值的数据
SELECT * FROM TableName WHERE column_name IN(value1,value2,value3);
  1. 通配符的使用
-- 查询字段中含有指定字符的数据
SELECT * FROM TableName WHERE column_name LIKE '%天%';
-- 查询字段中以特定字符开头的数据
SELECT * FROM TableName WHERE column_name LIKE '天%';
-- 查询字段中以特定字符结尾的数据
SELECT * FROM TableName WHERE column_name LIKE '%天';
-- 查询字段中第二个字符为特定字符的数据
SELECT * FROM TableName WHERE column_name LIKE '_天%';
-- 查询指定字段值为NULL的数据
SELECT * FROM TableName WHERE column_name IS NULL;
-- 查询指定字段值不为空的数据
SELECT * FROM TableName WHERE column_name IS NOT NULL;
  1. limit关键字
-- 查询指定表中某一列的数据,从第offset行开始共length条
SELECT column_name FROM TableName LIMIT offset,length;

2.3.3 排序查询

使用order by语句

SELECT column_name FROM TableName [WHERE column_name = value] ORDER BY column_name [ASC/DESC]

其中ASC为升序排序(默认),DESC为降序排序

-- 单列排序(按照某一个字段排序)
SELECT * FROM TableName ORDER BY column_name;
-- 组合排序(单列排序后若有相同数据,按照另一个指定的字段排序)
SELECT * FROM TableName ORDER BY column1_name,column2_name;
-- 如果需要降序,则在需要降序的字段名后加上DESC
SELECT * FROM TableName ORDER BY column1_name DESC,column2_name DESC;

2.3.4 聚合函数

-- 查询表中数据的条数,或者指定列中数据(除去NULL)的条数
SELECT COUNT(*) FROM TableName;
SELECT COUNT(1) FROM TableName;
SELECT COUNT(column_name) FROM TableName;
-- 查询指定字段中的总和、最大值、最小值、平均值
SELECTSUM(column_name) AS '总和',MAX(column_name) '最大值',MIN(column_name) '最小值',AVG(column_name) '平均值'
FROM TableName
-- 查询指定字段中值大于给定值的数据的个数
SELECT COUNT(*) FROM TableName  WHERE column_name > 100;
-- 查询指定字段中值大于给定值的数据的平均值
SELECT AVG(column2_name) FROM TableName WHERE column_name > 100;

2.3.5 分组查询

WHERE用于分组前过滤,后不能加聚合函数

HAVING用于分组后过滤,后可以加聚合函数

-- 通常配合聚合函数使用,比如将表按指定字段中的不同数据类型来分组,然后求各组的平均值
SELECT column1_name,AVG(column2_name) FROM TableName GROUP BY column1_name;-- 分组之后进行条件过滤,则需要用HAVING关键字
-- 例如上述语句完成后再查看平均值大于100的情况
SELECT column1_name,AVG(column2_name) FROM TableName GROUP BY column1_name HAVING AVG(column2_name) > 100;

MySQL高级应用

MySQL数据库环境配置与基本操作相关推荐

  1. redis cli 删除key 模糊_Web基础配置篇(六): Redis的安装配置及基本操作

    Web基础配置篇(六): Redis的安装配置及基本操作 一.概述 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的A ...

  2. Mac本地安装Mysql并配置

    文章目录 一.安装Mysql 二.配置Mysql 三.启动mysql 四.SQL语法初步了解 1.创建数据库 2.建表 3.查看表 一.安装Mysql 笔者推荐采用安装包的方法安装Mysql,比较简单 ...

  3. MySQL数据库配置及高级操作

    MySQL数据库配置及高级操作 1 环境配置 1.1 MySQL安装与卸载 1.2 SQLyog安装 1.3 SQL简介 2 基本操作 2.1 DDL*(Data Definition Languag ...

  4. mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...

    本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...

  5. mysql主从配置流程

    一.mysql主从配置原理 1.master将操作记录写到二进制日志中(binary log)中: 2.slave IO 线程将master的binary log events读写到它的中继日志(re ...

  6. python增删改查的框架_python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查...

    Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...

  7. mysql安全配置基线_MySql数据库安全配置基线.doc

    MySql数据库安全配置基线 Mysql数据库系统安全配置基线 版本版本控制信息更新日期更新人审批人V2.0创建2012年4月备注: 若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表 ...

  8. mysql 修改配置生效_linux下面MySQL变量修改及生效

    今天在访问mysql项目的时候突然报500错误,没有找到连接,因此想到mysql的连接时间. mysql> show global variables; 主要就是连接时间是28800(8小时), ...

  9. linux服务器安装mysql并配置外网访问

    linux服务器安装mysql并配置外网访问 更新系统,如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载 sudo apt-get update 安装mysql sudo ...

最新文章

  1. 打印零与奇偶数(多线程)
  2. 如何消除摄影中的运动模糊?
  3. 中国出版业,九死一生
  4. 多个Series合并成Dataframe,index不完全匹配怎么处理
  5. ESP8266 WiFi探针 MAC
  6. poj2480(利用欧拉函数的积性求解)
  7. 【图像处理】——opencv常用函数
  8. Linux下将两个10G的文件打包成一个文件需要多久
  9. 信息学奥赛C++语言:乘车费用
  10. 电商咄咄逼人的黑色星期五促销横BANNER设计模板
  11. dfa matlab用法,关于使用MF-DFA方法计算广义Hurst指数的MATLAB操作问题
  12. iframe框架_性能优化去除iframe脚手架升级方案
  13. 项目设计之----命令模式的利用
  14. MFC制作的入坑级别管理系统
  15. QFD修改工作流并重新发布中的问题
  16. 数据库的读写分离、分库分表(一)
  17. android 9.0打开文件管理器,安卓 通过intent调用系统文件管理器打开指定路径目录...
  18. 手机搜狐 html5,手机搜狐欲改版推全新域名及LOGO 着力Html5技术
  19. python爬取有道翻译
  20. 2014年发生的一些事情

热门文章

  1. 蓝桥杯单片机国二经验分享
  2. 工作不顺跳槽后的程序员,后来怎么样了?
  3. 信息论入门:信息守恒定律与纠错码
  4. Spring 装饰者模式
  5. springIOC(Inversion of Control)控制反转
  6. Python前景如何?学会Python工作好找吗?
  7. Java并发编程之interrupt方法使用
  8. python实现restful接口_使用python为mysql实现restful接口
  9. vb.net下,生成icon图标文件,图像格式为bmp,可用作windows应用的桌面快捷方式图标
  10. 笔记本N卡掉显驱问题个人记录