首页 > 数据库 >MySQL学习笔记

MySQL学习笔记

时间:2022-09-22 22:47:17浏览次数:61  
标签:... name 笔记 查询 学习 MySQL table WHERE SELECT

create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名;

drop 命令删除数据库

drop 命令格式:

drop database <数据库名>;
数据类型:
MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。
表示时间值的日期和时间类型为DATETIME(混合日期和时间值)、DATE、TIMESTAMP(混合日期和时间值,时间戳)、TIME和YEAR。
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。var是‘可变的’。
(BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。)
BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同。
创建表:CREATE TABLE table_name (column_name column_type);
删除表:DROP TABLE table_name ;
向表中插入数据:
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"。

查询数据:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
 

使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

WHERE 子句的字符串比较是不区分大小写的。可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

如下实例:

SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';

group by:对select查询出来的结果集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值。

having:用于对where和group by查询出来的分组经行过滤,查出满足条件的分组结果。它是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。

修改或更新数据:

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

删除表中的记录:

DELETE FROM table_name [WHERE Clause]

like 匹配/模糊匹配,会与 % 和 _ 结合使用。

'%a'     //以a结尾的数据
'a%'     //以a开头的数据
'%a%'    //含有a的数据
'_a_'    //三位且中间字母是a的
'_a'     //两位且结尾字母是a的
'a_'     //两位且开头字母是a的

在 where like 的条件查询中,SQL 提供了四种匹配方式。

  1. %:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
  2. _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
  3. []:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
  4. [^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
  5. 查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

语法

MySQL UNION 操作符语法格式:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expression1, expression2, ... expression_n: 要检索的列。

  • tables: 要检索的数据表。

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据。

SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;

使用 ORDER BY 子句将查询数据排序后再返回数据:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

GROUP BY 语法

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
 LIMIT用于强制返回指定的记录行数 在查询中,经常要返回前几条或者中间某几行数据时,用到limit

语法如下:

select * from table_name limit [offset,] rows
参数说明:
offset:指定第一个返回记录行的偏移量(即从哪一行开始返回),注意:初始行的偏移量为0。
rows:返回具体行数。

总结:如果limit后面是一个参数,就是检索前多少行。如果limit后面是2个参数,就是从offset+1行开始,检索rows行记录。
举例:

select * from table_name limit 10;//检索前10行记录
select * from table_name limit 5 ,10;//从第6行开始,检索10行记录,即:检索记录行 6-15
————————————————
关于LIMIT用法及举例版权声明:本文为CSDN博主「程序员老石」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/java123456111/article/details/124583183

 
 

标签:...,name,笔记,查询,学习,MySQL,table,WHERE,SELECT
From: https://www.cnblogs.com/djh777/p/16721090.html

相关文章

  • 他们知道我来过——中国首部高危老人深度关怀笔记
    她们知道我来过概括:(从图书标题出手)书的封面:这些高龄老人,是世上的宝贝,因为她们就是我们自己,她们就是在代替我们生活,让我们看到活生生的自己的未来提取亮点:(背后一凉,鸡皮......
  • 第四周学习总结
    学期(2022-2023)学号20221426《计算机基础与程序设计》第四周学习总结<班级的链接>(如[2022-2023-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2022-202......
  • navicat解密mysql
    先获取mysql加密密码,在使用php解密程序解出密码,1.使用navicat导出连接,文件中有加密密码,2.在注册表中,计算机\HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers\{连......
  • 爬虫api的学习
    刚刚写作业的时候发现有许多的api我确实不咋会用所以我在这里统计一下,防止下次忘记  get的意思是在表达式里面找到需要的元素如  但是题目很明显不是这样的,答案......
  • AE(AutoEncoder) 学习笔记
    AE(AutoEncoder)学习笔记目录AE(AutoEncoder)学习笔记Auto-Encoder,AEDenosingAuto-Encoders,DAEStackedDenoisingAuto-Encoders,SAEConvolutionAuto-Encoders,......
  • 2022-2023-1 20221307 《计算机基础与程序设计》 第四周学习总结
    2022-2023-120221307《计算机基础与程序设计》第四周学习总结 班级链接:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblog......
  • 【学习笔记/模板】吉司机线段树
    吉司机线段树这里不会挂涩图了,相册或者公告板自取调了一晚上,刚改出来,有时间再更。P6242【模板】线段树3Code#include<cstdio>#include<algorithm>#defineLLlon......
  • IDEA 使用笔记
    快捷键SearchEverywhere:双击Shift快捷键说明ctrl+P列出参数列表(使用比较多)ctrl+shift+enter当在括号里输入完最后一个参数时候他会直接光标跳......
  • Flask学习笔记(二)-request请求对象+flask解析http请求数据
    一、flask请求对象requestrequest是flask框架的全局对象,你可以通过它来获得当前进入的请求数据,如果是在多线程环境下,flask可以保证你所使用的request对象就是当前这个线程......
  • Python面向对象笔记
    一、面向对象(一)基本概念(1)面向对象编程——ObjectOrientedProgramming简写OOP(2)面向对象三大特性封装根据职责将属性和方法封装到一个抽象的类中定......