mysql怎么判断多行数据日期是否连续_MySQL学习笔记(一)
https://blog.csdn.net/weixin_44051608/article/details/85163823
一、启动MySQL
1、 win+R或者CMD中输入“services.msc”打开服务,在里面找到MYSQL服务进行控制
2、cmd下我们输入 net stop mysql80 来禁用MYSQL服务
3、cmd下我们输入 net start mysql80 来启用MYSQL服务
二、连接MySQL服务器
- 连接本地MySQL
mysql -uroot -p
2、指令集
连接好后我们输入 h 来查看一下命令集:
3、退出:
q
exit
quit
4、连接远程MySQL
mysql -h127.0.0.1 -uroot -p
或者使用:
mysql --host=127.0.0.1 --user=root --password
三、MySQL目录结构
1、安装目录
2、数据目录
数据库:文件夹
表:文件夹中的文件
数据记录:文件内存储的内容
四、SQL通用语法
1、SQL可以单行或多行书写,以分号结尾。遇到分号之前随意换行
2、使用空格或者Tab提高可读性
3、不区分大小写,但关键字推荐用大写
4、单行注释 :① -- (两个横杠一个空格)② # (mysql特有)
5、多行注释:/*。。。。*/
五、MySQL数据类型
1、数值类型
double(5,2) 表示总共5位,小数点后2位;
2、日期和时间类型
如果使用TIMESTAMP类型,则如果不赋值或者赋值为NULL,则默认保存系统当前时间。
3、字符串类型
varchar(20) 表示最大20个字符
六、SQL分类
1 DDL :用来定义数据库对象:数据库、表、列等;关键字:create drop alter
2 DML:用来对数据库表中的数据进行增删改;关键字:insert delete update
3 DQL:用来查询数据库表中的记录;关键字:select where
4 DCL:定于数据库的访问权限和安全级别及创建用户 关键字:GRANT REVOKE
七、DDL操作:数据库
1、创建
①、创建数据库 create database 数据库名;
②、防止重复创建 create database if not exists 数据库名;
③、指定字符集创建 create database 数据库名 character set 字符集名;
④、判断存在否并指定字符集:create database if not exists 数据库名 character set 字符集名;
2、查询
①、show databases; 显示所有数据库
数据库对应文件夹:
其中information_schema数据库是特殊视图,并没有对应的物理文件。
mysql对应的是核心数据库
performance_schema对应的是性能数据库
以上数据库不要乱动。
②、查询创建某数据库时使用的语法(主要为了查看字符集)
show create database 数据库名;
3、修改
①、修改字符集:alter database 数据库名 character set 字符集名;
4、删除
①、删除数据库:drop database 数据库名;
②、先检查有没有再删除:drop database if exists 数据库名;
5、使用
① 查询当前正在使用的数据库名称:select database();
②、使用数据库: use 数据库名;
八、DDL操作:表
1、创建
①、创建表:create table 表名(列名1 数据类型1,列名2 数据类型2,...,列名n 数据类型n);
完成后查一下:
2、查询
①、查询表集合: show tables;
②、查询表结构: desc 表名;
3、修改
①、修改表名
alter table 表名 rename to 新表名;
②、修改表的字符集
alter table 表名 character set 字符集名;
③、添加一列
alter table 表名 add 列名 数据类型;
④、修改一列
alter table 表名 change 列名 新列名 新数据类型;
⑤、只修改列的类型
alter table 表名 modify 列名 新数据类型;
⑥、删除列
alter table 表名 dorp 列名;
4、删除
drop table 表名;
drop table if exists 表名;
九、一个图形化软件mysql workbench
使用图形化软件来更加直观方便的操作数据库,现在MySQL下载会自带
连接数据库后如图:
数据库在哪?
如何直观的看到表格?
如何操作数据库?
全部执行:
快捷键 ctrl +enter
单步执行:
如何图形化为表中添加数据?
创建RE图:
一路next,选择自己的数据库
十、DML
1、添加数据
①、添加数据
insert into 表名(列名1,列名2.。。。列名n) values (值1,值2,。。。,值n);
insert into stu(id,name,nianling,score,sex) values(1,'范冰冰',18,59,'女');
②、如果给所有列添加值,可以不写列名;
insert into stu values(2,'佟丽娅',24,99,null,null,'优秀','女');
注意:除了数字类型,其他类型需要使用单/双引号 引起来。
2、删除数据
如果MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令。输入如下命令退出此模式:
SET SQL_SAFE_UPDATES = 0;
①删除数据
delete from 表名 where 条件;
②、删除所有数据
delete from 表名;
③、删除整个表
truncate table 表名;
3、修改数据
①、修改数据
update 表名 set 列名1=值1,列名2=值2,......列名n=值n,where 条件;
注意:1、执行此命令同样需要退出SAFE_UPDATES模式
SET SQL_SAFE_UPDATES = 0;
2、如果不加where就会把表里的数据都改了
十一、DQL
1、语法
select字段列表
from表名列表
where条件列表
group by分组字段
having分组之后的条件限定
order by排序
limit分页限定
2、基础查询
①、多个字段查询
select 列名1,列名2 from 表名;
②、去除重复
SELECT DISTINCT 列名1,列名2 from 表名;
③、计算列
SELECT 列名1+列名2 from 表名;
上面例子中柳青的成绩相加不对,原因处在null上,所以应引入ifnull判断
附:判断null
ifnull(列名,替换值);
当列名出现null时替换为替换值
④、起别名
select 字段名 as 别名 from 表名; #as也可以用空格代替
起别名后任何位置都可以用别名代替此名。
3.条件查询
①、where后跟条件
②、运算符
> < >= <= = != <>(这个也是不等于)
and 并且
between 条件1 and 条件2
or 或者
in (22,18,15); #在。。。中
is null 是null
is not 不是null
注意:null不能用 =来判断 需要用 is来判断
③、LIKE 模糊查询运算符
占位符:_单个任意字符 %多个任意字符
4.排序查询
①语法
order by 排序字段1 排序方式1,排序字段2 排序方式2,。。。。
其中排序方式:
ASC:升序(默认)
DESC:降序
5、聚合函数
将一列数据按照一个整体进行计算 #列的纵向计算
①、count 计算个数
select count(列名) from 表名;
②、max 最大值
select max(列名) from 表名;
③、min
select min(列名) from 表名;
④、sum
select sum(列名) from 表名;
⑤、avg
select avg(列名) from 表名;
注意:聚合函数会排除null
6、分组查询
①、语法
group by 列名;
注意:分组后应该查询 分组或聚合函数才有意义。
②、分组加条件where
③、分组加条件where,完成分组后再加having筛选
where和having的区别:
-where在分组前限定,having再分组后限定
-where后不可以跟聚合函数 having后可以
④、分页查询
limit 开始的索引 ,每页查询的条数;
开始的索引=(当前页码-1)*3
注意:分页操作是一个“方言”,只能用于MySQL。
十二、约束
约束是对输入数据库的数据进行限定,为了保证数据的正确性、有效性、完整性!
1、主键约束 primary key
主键表示非空且唯一,每张表只能有一列主键,主键是记录的唯一标识
①、创建时约束
②、追加约束(其实就是修改列的数据类型)
alter table stu modify id int PRIMARY KEY;
③、删除约束 (其实就是修改列的数据类型)
alter table stu drop primary key;
④、主键自动增长
如果一个列是数值类型的,那么可以使用auto_increment 让其自动增长,一般配合主键来用。
注意:自动增长只与上一条数据有关系
⑤、追加主键自动增长
alter table stu modify id int AUTO_INCREMENT;
⑥、删除主键自动增长(其实就是修改列的数据类型)
alter table stu modify id int;
2、非空约束 not null
①、创建时约束
②、追加约束(其实就是修改列的数据类型)
alter table stu modify name varchar(10) NOT NULL;
③、删除约束 (其实就是修改列的数据类型)
alter table stu modify name varchar(10);
3、唯一约束 unique
①、创建时约束
②、追加约束(其实就是修改列的数据类型)
alter table stu modify phone varchar(10) unique;
③、删除约束 #此语法有些特殊
alter table stu drop index phone;
注意,唯一并不限定null
4、外键约束 foreign key
外键:让表格中的一列数据关联其他表的数据
①、创建时约束
create table 表名(
。。。。
外键列,
constraint 外键名称 foreign key(要连接外键的列名) references 主表名称(主列表名称)
);
②、追加约束
alter table 表名 add constraint 随意取一个外键约束名 foreign key (本表列名) references 外键(外键列名);
③、删除约束
alter table stu drop foreign key 外键名;
④、级联更新
设置级联更新 来确保被外键数据改动,本表的关联外键的数据一起改动
在外键后添加级联ON UPDATE CASCADE
此时修改外键数据,本表数据会随之改变
⑤、级联删除
在外键后添加级联ON DELETE CASCADE
mysql怎么判断多行数据日期是否连续_MySQL学习笔记(一)相关推荐
- MySQL中会用到age字段的索引_MySQL学习笔记(四):正确使用索引(二)
上一篇学习到了MySQL中的索引是什么,以及一些关于索引的简单的知识,这篇我打算详细地谈一谈如何正确地使用索引.索引的使用看起来很简单,但是在真正去学习它的时候才发现,原来是暗藏玄机.使用索引时有很多 ...
- 大数据第二阶段Python基础编程学习笔记(待完善)
大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...
- mysql数据库取奇数行数据_查询数据库中的奇数行和偶数行
功能奇数次执行和偶数次执行时的结果不同的故障复盘 场景:将数据库查询到的数据,写入一个xls文件.完成后,多点几次,发现一个问题,偶数次生成的文件比较小,打开一看,里面只有一行,只有标题,没有内容.分 ...
- MySql 随机读取多行数据并显示
随机读取20行: SELECT * FROM quiz ORDER BY RAND() LIMIT 20 分别显示这20行数据: $result=mysql_query($query); ...
- mysql循环查询一个表中的数据并进行修改_JavaScript学习笔记(二十四)-- MYSQL基础操作...
MYSQL mysql 是一个数据库的名字 和 php 合作的比较好的数据库 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端 接下来就聊聊使用 php 操作数据库 M ...
- mysql 查找相似数据_MySQL学习笔记之索引
索引是存储引擎用于快速找到记录的一种数据结构. 索引对于良好的性能非常关键.尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但 ...
- mysql没法修改数据_MySQL学习笔记之数据的增、删、改实现方法
本文实例讲述了MySQL学习笔记之数据的增.删.改实现方法.分享给大家供大家参考,具体如下: 一.增加数据 插入代码格式: insert into 表明 [列名-] values (值-) creat ...
- mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结
本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...
- mysql 拼接sql批量执行_Mysql 学习笔记之 SQL 执行过程
写在开始 本系列源自极客时间 MySQL 专栏,整理而成 在执行下面这个查询语句时的执行的流程是怎么样的? mysql 看过相关资料的同学都可能知道执行流程大概是这样的: 其执行过程为:连接.查询缓存 ...
- mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解
本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...
最新文章
- 比Navicat还要好用的通用数据库管理工具,功能强大还免费
- python安装用32位还是64位-我应该使用Python 32位还是Python 64位
- Arcgis API for JavaScript在地图上实现手机定位信息的追踪显示
- Http / Put 和 Post 区别
- 在 VirtualBox 中 CentOS 网络设置
- python写前端图形界面_如何Tkinter模块编写Python图形界面
- mysqldump备份数据不锁表的加参数方法及原理分析
- UVA - 207 PGA Tour Prize Money
- 【Java从0到架构师】基本概念 + 环境搭建
- 如何快速上手一个项目
- 字符编码(一):序言
- Function.prototype.bind、call与apply方法简介
- SDOI2015 约数个数和
- 项目四管理计算机中的资源,第十七章-计算机在项目管理中的应用PPT课件.ppt
- linux网桥配置brctl
- 运筹学牛顿法c语言源代码,运筹学与MATlab编程.doc
- synchronized加锁过程
- linux rescue 黑屏,linux援救模式:linux rescue使用详细图解
- Java基础之泛型简单讲解(通俗易懂)
- linux 的常用命令---------第十阶段(虚拟机三种网络模式)
热门文章
- tf.contrib.rnn.core_rnn_cell.BasicLSTMCell should be replaced by tf.contrib.rnn.BasicLSTMCell.
- Chrome插件(Extensions)开发攻略
- Smith Builder ERP代码生成器(开源,提供源码下载)
- 如何判断两物体加速度相等_高中物理知识点总结解题技巧:关联物体问题的求解方法...
- MySQL中的四种Key
- 优化mysql数据库性能的十个参数
- Python 列表字典制作名册管理
- Silverlight提示“Load 操作失败。远程服务器返回了错误: NotFound”
- Ubuntu Apache 不同端口监听不同站点
- Centos 5.8 搭建ntp服务器