MySQL 2.0

MySQL 2.0

select 完整语句

写的顺序: select ...
        from...
        where....
        group by...
        having...
        order by..

执行顺序: from...
        where...
        group by...
        having....
        select ...
        order by...

组函数

常用的组函数

  • AVG
  • COUNT
  • MAX
  • MIN
  • SUM

组函数的语法:(Group By)

SELECT [column,]group_function(column),...
FORM        table
[WHERE condition]
[GROUP BY   column]
[ORDER BY   column]

注意: 组函数不能在WHERE子句中使用

在组函数中可以使用 Distinct 关键字用于去重

过滤分组:HAVING 子句

  • 使用 HAVING 过滤分组
  • 1、行已使用被分组
  • 2、使用了组函数
  • 3、满足 HAVING 子句中条件的分组将被显示
SELECT [column,]group_function(column),...
FORM        table
[WHERE condition]
[GROUP BY   group_by_expression]
[HAVING group_condition]
[ORDER BY   column];

注意: 组函数不能嵌套使用

子查询

  • 为了给主要查询提供数据而先执行的查询称之为子查询

    • 子查询要包含在括号内
    • 将子查询放在比较条件的右侧
  • 单行子查询
    • = / > / >= / < / <= / <> / !=
  • 多行子查询
    • IN / ANY /ALL

事务

4个特性

  • A 原子性:事务必须是一个自动工作的单元,要么全部执行,要么全部不执行。
  • C 一致性:事务把数据库从一个一致状态带入到另一个一致状态,事务结束的时候,所有的内部数据都是正确的。
  • I 隔离性:并发多个事务时,一个事务的执行不受其他事务的影响。
  • D 持久性:事务提交之后,数据是永久性的,不可再回滚,不受关机等事件的影响。

事务在如下情况终止:

  1. 遇到rollbackcommit命令
  2. 遇到DDL或者DCL语句.
  3. 系统发生错误,崩溃或者退出。

序列的使用

  • MySQL 序列是以升序生成的一组整数:1,2,3,...,宇宇生成主要识别的唯一数字,即主键。
  • 可以在列上设置AUTO_INCREMENT属性,这通常是主键列。

UUID

  • UUID代表通用唯一表示符。UUID是基于 “RFC 4122” 通用唯一标识符定义的。
  • UUID被设计为在空间和时间全球独一无二的数组。预期两个UUID值是不同的。
  • 在MySQL中,UUID值是一个128位的数字,表示为以下格式的十五进制数字的utf-8字符串:
aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
  • 要生成UUID值,需要使用 UUID() 函数
UUID()

注意: 如果是有效的字符串格式UUID,IS_UUID()函数将返回 1 。如果参数不是有效的字符串格式UUID,则IS_UUID函数返回 0,如果参数为 NULL ,则IS_UUID() 函数返回 NULL。

SELECT BIN_TO_UUID(id) id, name
FROM customers;

SQL 约束

  • NOT NULL => 约束强制列不接受 NULL 值
  • UNIQUE => 约束唯一标识数据库表中的每条记录
  • PRIMARY KEY => 约束唯一标识数据库表中的每条记录(主键必须包含唯一的值、主键列不能包含 NULL 值)
  • FOREIGN KEY => 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
  • CHECK => CHECK 约束用于限制列中的值的范围
  • DEFAULT => DEFAULT 约束用于向列中插入默认值(如果没有规定其他的值,那么会将默认值添加到所有的新记录)

客户端连接设置字符集

  • MySQL连接器允许设置字符集:
jdbc:mysql://127.0.0.1:3306/?characterEncoding=utf-8&useSSL=true

原文地址:https://www.cnblogs.com/gyhbk/p/12335617.html

时间: 2024-10-10 03:37:54

MySQL 2.0的相关文章

Atitit.mysql&#160;5.0&#160;5.5&#160;&#160;5.6&#160;5.7&#160;&#160;新特性&#160;新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M

MySQL &#183; 8.0版本更新 &#183; 性能优化篇

摘要: 本文主要总结下MySQL在8.0版本和性能相关的一些改动,随着新的小版本的发布,本文将不断进行更新,直到正式GA. 已更新版本MySQL 8.0.0MySQL 8.0.0 WL#9387: InnoDB: Group purging of rows by table ID 这个问题最早是faceb... 本文主要总结下MySQL在8.0版本和性能相关的一些改动,随着新的小版本的发布,本文将不断进行更新,直到正式GA. MySQL 8.0.0 WL#9387: InnoDB: Group

Atitit.mysql 5.0 5.5 &#160;5.6 5.7 &#160;新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M

RedHat下apache\ftp\mysql 4.0 的安装方法

RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm -qa|grep httpd 有回显httpd-2.0.40-21即表示安装成功. 启动apache服务: service httpd start 通过浏览器访问 IP地址80端口 即可打开apache测试网站 注意事项: 1.apache 服务无法启动,主机名与IP不匹配 解决方法: 手动修改主机

MySQL 6.0 Windows下安装图解

由于免费,MySQL数据库在项目中用的越来越广泛,而且它的安全性能也特别高,不亚于oracle这样的大型数据库软件.可以简单的说,在一些中小型的项目中,使用MySQL ,PostgreSQL是最佳的选择.今天就来说一下MySQL的安装过程. 这里就不说具体上什么地方下载MySQL 6.0了,既然是免费的,肯定下载很容易了,可以到官方网站,也可以到软件当行网站,但为了能获取最新的最好到官方网站.我这里下载的是mysql-essential-6.0.10-alpha-win32.msi.当然还有很多

MySQL 8.0.2复制新特性(翻译)

译者:知数堂星耀队 MySQL 8.0.2复制新特性 MySQL 8 正在变得原来越好,而且这也在我们MySQL复制研发团队引起了一阵热潮.我们一直致力于全面提升MySQL复制,通过引入新的和一些有趣的功能.此外,我们还听取了社区的建议和反馈.因此,我们很荣幸能够与你一同见证最新版本(MySQL 8.0.2)的里程碑式的发布,为此我们总结了其中的一些值得注意的变化.跟随我们下面的博客,我们将会分享这些新功能的一些见解. 我们对MySQL 组复制进行了加强,主要有以下几个方面: 不允许对离开组的成

破解navicat for mysql 11.0.18版本

首先要下载好一个navicat for mysql 11.0.18版本,一定要11.0.18版本,因为其他的版本貌似无法破解,试了几个版本都不行,所以就只能是11.0.18的,附件里就有的下载 然后下载另一个附件zip包,将附件解压成一个文件夹,按照附件里面的说明书进行 重中之重来了:生成的license文件,一定要保存在注册机所在的文件夹里,因为如果你保存在其他地方,是找不到的,起码我好几次都没找到过

MySQL 8.0.0 版本发布,亮点都在这了!

导读 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库. 可能有人会惊奇MySQL为何从5.x一下跳跃到了8.0.事实上,MySQL 5.x系列已经延续了很多年,从被Oracle收购之前就是5.1,而收购之后一直维持在5.x,比如5.5,5.6,5.7等等.其实,如果

mysql 5.0存储过程学习总结

mysql存储过程的创建,删除,调用及其他常用命令 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)  mysql 5.0存储过程学习总结 一.创建存储过程 1.基本语法: create procedure sp_name()begin………end 2.参数传递 二.调用存储过程 1.基本语法:call sp_name()注意:存储过程名称后面必

PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 安装

PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 1.首先在安装好环境下安装 zabbix3.0情况下 2. yum install mysql-devel net-snmp-devel curl curl-devel -y groupadd zabbixuseradd -g zabbix zabbix 3. wget -c http://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20De