MySQL基础操作指南
启动停止MySQL服务
1、Windows服务窗口启动:开始 → 运行 → services.msc → 找到MySQL 56服务
2、MySQL命令启动:开始 → 运行 → 管理员权限运行cmd → net start MySQL56 启动 net stop MySQL56 停止
客户端连接MySQL服务
1、自带客户端连接MySQL服务器:所有程序 → MySQL Server5.6 → MySQL5.6 Command Line Client → 输入密码
2、通过CMD命令连接MySQL服务器:
①配置环境:系统变量 → 添加MySQL的 bin 目录:C:\Program Files\MySQL\MySQL Server 5.6\bin(默认地址)
②cmd命令输入mysql --help 验证是否成功成为Windows外部命令
③连接命令:mysql -h 服务器地址 -p 端口号 -u 账号 -p密码
如:mysql -h localhost-p 3306 -u root -proot123
注意:-p 默认是3306端口可以省略,-u与账号之间可以有空格,-p之后紧跟密码,但是不安全
一般使用,mysql 127.0.0.1 -uroot -p
第三方工具连接
Navicat for MySQL连接
MySQL 常见数据类型
整数类型:tinyint、smallint、int
小数类型:decimal
定义字符串类型:char
变长字符串类型:varchar
日期类型:data、time、datatime
DDL
创建数据库:
CREATE DATABASE database_name
删除数据库:
DROP DATABAST database_name
查看数据库:
SHOW DATABAST
创建数据表:
CREATE TABLE table_name(
column_name data_type [NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT] [],
...
[PRIMARY KEY(pk_name),]
[FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
- “[]”中的内容为可选项。table_name:表名。
- column_name:字段名。
- data_type:字段数据类型。default_value:默认值。
- auto_increment:主键值自动增长。pk_name:当前表中的主键名。
- fk_name:当前表中的外键名。
- referenced_table_name:被引用表名(主表名)。ref_pk_name:被引用表主键名。
修改表结构:
ALTER TABLE table_name
新增字段:
ADD column_name data_type [NOT NULL] [DEFAULT default_value]
变更字段:
CHANGE column_name new_column_name data_type [NOT NULL] [DEFAULT default_value]
更新字段:
MODIFY column_name new_data_type [NOT NULL] [DEFAULT default_value]
删除字段:
DROP column column_name
删除唯一约束:
DROP UNIQUE constraint_name
重命名表:
RENAME TABLE table_name TO new_table_name
添加外键约束:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
constraint_name: 约束名。
fk_name:当前表中的外键名。
referenced_table_name:被引用表名。
ref_pk_name:被引用表主键。
删除外键约束字句:
DROP FOREIGN KEY constraint_name
DML
插入表记录:
INSERT [INTO] table_name[( 字段列表 )] VALUES( 值列表 )
修改数据语法:
UPDATE table_name set
字段名 1= 值 1, 字段名 2= 值 2,..., 字段名 n= 值 n
[WHERE 条件表达式 ]
删除表数据:
DELETE FROM table_name [WHRRE 条件表达式]
SELECT查询
语法:
SELECT <COLUMN1, COLUMN2, COLUMN3...>
FROM <table_name> [WHERE < 条件表达式 >]
[GROUP BY COLUMN1, COLUMN2, COLUMN3... | HAVING < 条件表达式 >]
[ORDER BY < COLUMN1, COLUMN2, COLUMN3...> [ASC 或 DESC]]
必须的子句只有 select 子句和 from 子句。
where 子句用于对查询结果进行过滤。
group by 子句根据指定列分组,having 子句对分组后的结果进行过滤。(后续章节学习。)
order by 子句用于对查询结果进行排序。asc 表示升序排序,desc 表示降序排序,默认按 asc 排序。
查询所有列数据:
select * from 表
查询指定列的数据:
select 列名1,列名2,... from 表
显示列标题:
- 使用as:select 列名1 as 标题名 from 表
- 使用空格:select 列名1 标题名 from 表
去除重复数据:
SELECT DISTINCT 字段名 FROM 表名
ceil(a) 为 MySQL 中内置数学函数,其功能是对数值型 a 进行向上取整,如 ceil(12.4) 的值为 13。
floor(a) 为 MySQL 中内置数学函数,其功能是对数值型 a 进行向下取整,如 floor(12.7) 的值为 12。
round(a) 为 MySQL 中内置数学函数,其功能是对数值型 a 进行四舍五入,如 round(12.7)的值为13.
MySQL 运算符
1、算数运算符
2、比较运算符
MySQL 进行数值比较时规则如下:
(1)若有一个或两个参数为 null,则比较运算的结果为 null。
(2)若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
(3)若两个参数均为正数则按照整数进行比较。
(4)若一个字符串和一个数字进行相等判断,则 MySQL 可以自动将字符串转换为数字。
3、逻辑运算符
定制显示查询结果
对结果进行排序
单列:
select * from 表 order by 字段名(desc:降序,asc:升序)
多列:
select * from 表 order by 字段名1(desc:降序,asc:升序),字段名2(desc:降序,asc:升序)
使用limit限制数据的行数
SELECT * FROM table LIMIT [offset,] rows
- 参数 offset 和 rows 必须为整数,offset 可以省略。
- offset 指定第一个返回记录行的偏移量。注意:初始记录行的偏移量是 0,而不是 1。
- rows 指定返回记录行的最大数目。
模糊查询
LIKE运算符
- “%”通配符:可以匹配 0 到多个任意字符
- “_”通配符: 功能与“%”类似,其仅匹配任意一个字符。如需匹配两个字符,则使用“_ _”
- IN 运算符:称为“成员条件运算符”,用于判断一个值是否在一个指定的数据集合之内
- between...and 运算符选取介于两个值之间的数据,这些值可以是数字和日期类型(取值范围包括边界值)
MySQL基础操作指南的更多相关文章
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- 【夯实Mysql基础】记一次mysql语句的优化过程
1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...
- MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL:基础—数据分组
MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...
- MySQL基础学习总结
1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层 ...
- MySQL基础(五)——视图
MySQL基础(五)--视图
随机推荐
- Java 8实现BASE64编解码
Java一直缺少BASE64编码 API,以至于通常在项目开发中会选用第三方的API实现.但是,Java 8实现了BASE64编解码API,它包含到java.util包.下面我会对Java 8的BAS ...
- Linux基础命令---sendmail发送邮件
sendmail sendmail是postfix中的一个发送邮件的代理程序,它负责发送邮件到远程服务器,并且可以接收邮件.sendmail在发送邮件的时候,默认从标砖输入读取内容,以".& ...
- mysql 索引 零记
索引算法 二分查找法/折半查找法 伪算法 : 1. 前提,数据需要有序 2. 确定数据中间元素 K 3. 比如目标元素 A与K的大小 3.1 相等则找到 3.2 小于时在左区间 3.3 大于时在右 ...
- 【科研工具】流程图软件Visio Pro 2019 详细安装破解教程
[更新区] 安装教程我下周会在bilibili上传视频,这周事情太多暂时先不弄. [注意] 安装Visio需要和自己的Word版本一样,这里因为我的Word是学校的正版2019(所以学校为什么正版没买 ...
- 记一次单机Nginx调优,效果立竿见影
一.物理环境 1.系统是Centos 8,系统配置 2核4G,8M带宽,一台很轻的应用服务器. 2.站点部署情况.但站点部署两个实例,占用两个端口,使用nginx 负载转发到这两个web站点. 二. ...
- 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
- Mysql实例 数据库优化
目录 一.前言 二.数据库表设计 三.数据库结构设计 四.数据库性能优化 硬件配置选择 数据库配置优化 系统配置优化 数据库安全优化 五.数据库架构扩展 增加缓存 主从复制与读写分离 分库 分表 分区 ...
- CPU进程优先级
目录 一.简介 二.NICE值 三.优先级 四.实时进程 一.简介 进程优先级起作用的方式从发明以来基本没有什么变化,无论是只有一个cpu的时代,还是多核cpu时代,都是通过控制进程占用cpu时间的长 ...
- 测试工具_http_load
目录 一.简介 二.例子 三.参数 一.简介 http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机 ...
- 时间同步——TSN协议802.1AS介绍
前言之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步.延时.可靠性.资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用 ...