首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PostgreSQL 教程

最后,您将学习如何管理数据库,例如创建或修改现有结构。 第 1 节. 查询数据 主题 描述 简单查询 向您展示如何从单个查询数据。 别名 了解如何为查询或表达式分配临时名称。...连接多个 主题 描述 连接 向您展示 PostgreSQL 连接简要概述。 别名 描述如何在查询中使用别名。 内连接 从一个中选择在其他具有相应行行。...左连接 从一个中选择行,这些行在其他可能有也可能没有对应行。 自连接 通过与自身进行比较与其自身连接。 完全外连接 使用完全连接查找一个在另一个没有匹配行行。...交叉连接 生成两个或多个笛卡尔积。 自然连接 根据连接公共列名称,使用隐式连接条件连接两个或多个。 第 4 节....创建 指导您如何在数据库创建。 SELECT INTO 和 CREATE TABLE AS 向您展示如何从查询结果集创建

44210

访问权限控制系统|全方位认识 mysql 系统库

当一个用户连接MySQL Server时,用户认证身份由"请求连接主机名和用户名"确定,MySQL使用主机名+用户名方式识别和区分"相同主机不同用户"和"不同主机相同用户"发出请求(例如:从...* 5)、处于脱机模式(已启用offline_mode系统变量)Server不会中断具有SUPER权限用户连接,且仍然接收具有SUPER权限用户连接请求 。...MySQL Server 使用userHost、User、authentication_string三个存储用户凭证信息执行凭证检查。...MySQL在authentication_string不存储明文格式密码(使用帐户认证插件实现密码散方法加密)。在连接认证过程中使用加密密码检查密码是否正确。...db:该权限作用范围是数据库级别,对应数据库内所有对象: user和host表现形式要求与user表相同

2.3K70
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL8——带有字符集UDF

具有字符集“ utf8mb4”,另一具有字符集“ latin1”。该有一个记录。每存储字符串相同。当然,根据它们各自字符集,两个字符串编码是不同。...如果将两个字符串传递给不同字符集,将会发生什么情况? 当我们通过UDF连接时,它只是连接了以各自字符集表示两个字符串。返回值字符集为“ binary”,因此返回值没有意义,如下所示。 ?...在MySQL 8.0.19,我们添加了组件服务'mysql_udf_metadata',以检测输入参数字符集,并选择UDF输出所需字符集。让我们使用组件服务实现一下。...现在,UDF希望使用latin1字符集中两个参数,并返回utf8mb4字符集连接字符串。这是先前UDF修改版本。 ? ? ? 让我们在与之前相同上再次执行UDF。...您所见,创建支持字符集UDF变得非常容易。用户可以轻松升级现有的UDF。 请参考以下通过组件和插件实现UDF源目录。 ? 请参考以下MTR测试,以测试上述组件和插件。 ?

1.5K20

MySQL 教程上

相应语法如下: select 'hello' regexp '^h'; MySQL创建计算字段 在MySQLSELECT语句中,可使用Concat()函数来拼接两个; 计算字段另一常见用途是对检索出数据进行算术计算...可使用 TRUNCATE TABLE 语句,它完成相同工作,但速度更快(TRUNCATE 实际是删除原来并重新创建一个,而不是逐行删除数据)。...只有一点例外,假如表一个旧记录与一个用于 PRIMARY KEY 或一个 UNIQUE 索引记录具有相同值,则在记录被插入之前,旧记录被删除。...AUTO_INCREMENT ,而且它必须被索引(通过使它成为主键)。...建议创建时候尽量将条件添加完整, 这样能较少错误数据录入机会。比如是否添加 default 值。 建议在定义时候,检查 COMMENT 备注,是否运行非空,是否具有唯一性。

3.4K10

何在Ubuntu 14.04上安装MemSQL

具有sudo权限非root用户。 - 第1步 - 安装MemSQL 在本节,我们将为MemSQL安装准备工作环境。 最新版本MemSQL在其下载页面上。...create database tutorial; 然后使用use命令切换至使用数据库。 use tutorial; 接下来,我们将创建一个users,该将有id字段和email字段。...MemSQL创建这个速度有一个主要原因:代码生成。 在引擎盖下,MemSQL使用代码生成执行查询。这意味着每当遇到类型查询时,MemSQL都需要生成和编译代表查询代码。...让我们为分布式SQL数据库做一些高级操作:让我们在非主键上连接两个,其中一个连接值嵌套在一个JSON值,但过滤不同JSON值。...正如我们在基准测试中看到那样,在执行数百万行时,代码生成好处得到了回报。使用能够理解JSON横向扩展SQL数据库以及如何在之间任意连接灵活性是一个强大用户功能。

2.3K20

这是我见过最有用Mysql面试题,面试了无数公司总结(内附答案)

可以在一个或一组列上创建索引。 18.所有不同类型索引是什么? 索引有三种类型 1.唯一索引:唯一索引通过确保没有两行数据具有相同键值帮助维护数据完整性。...简短答案是“否”,一个不允许包含多个主键, 但是它允许一个包含两个或更多复合主键。 41.什么是复合 主键? 复合主键是在多个(多个字段组合)上创建主键。 42.什么是外键?...Union和Union All都将两个结果连接在一起,但是这两个查询处理重复方式不同。 联合:省略重复记录,仅返回两个或多个select语句不同结果集。...假定:1有10条记录,2 有10条记录。两个最后一条记录是相同。 如果运行联合查询。...) AS EmployeeName FROM Employee 78.如何在Employee_Details添加具有以下详细信息Employee详细信息 Employee_Name:yuhan

27K20

MySQL数据库面试题和答案(一)

-具有命令提示符GUI。 - MySQL查询浏览器支持管理。 6、myisamchk做什么工作? -压缩MyISAM,减少磁盘或内存使用 7、如何在Unix和MySQL时间戳之间进行转换?...13、如何在MySQL连接字符串? 使用- CONCAT (string1, string2, string3) 14、如何在Mysql获得当前日期?...首先: -打开与数据库连接。 -可以关闭数据库连接。 -每次载入页面时打开页面。 永久链接: -打开与数据库持久连接。 -无法关闭数据库连接。 -页面不需要在每次加载时打开。...“|”可以用来匹配这两个字符串任何一个。 如何在MySQL中将导出为XML文件?...要使用数据库备份,请使用以下语法: mysqldump --add-drop-table -u [username] -p[password] [database] > [backup_file] 此命令通过知道数据库连接用户名和密码并删除正在删除或未使用任何进行数据库备份

7.5K31

2020年度总结了这 50 道 MySQL 高频面试题!

Latin字符两个数据是相同,但是对于Unicode和其他编码,它们是不同。 8、请简洁描述MysqlInnoDB支持四种事务隔离级别名称,以及逐级之间区别?...创建时TIMESTAMP用Zero更新。只要其他字段发生更改,UPDATE CURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。 17、主键和候选键有什么区别?...Heal大小可通过称为max_heap_table_sizeMysql配置变量控制。 22、MyISAM Static和MyISAM Dynamic有什么区别?...在Mysql,使用以下代码查询显示前50行: SELECT*FROM LIMIT 0,50; 44、可以使用多少列创建索引? 任何标准最多可以创建16个索引。...CONCAT(A, B) - 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 FORMAT(X, D)- 格式化数字X到D有效数字。

4K20

MySQL 面试题

如果设计时候识别多个候选键,设计者会根据具体需求和约束选择其中最为合适一个作为主键。 13. 如何在 Unix 和 MySQL 时间戳之间进行转换?...唯一性:具有高唯一值(Cardinality 高)通常时创建索引好候选。...使用复合索引策略: 如果经常在多个列上进行查询,考虑创建复合索引。复合索引是基于两个或多个索引。 确保复合索引顺序反映了查询模式。...如果左没有匹配,结果部分会包含 NULL。 右外连接不如左外连接常见,因为你总是可以通过改变 JOIN 顺序实现同样效果。...如果数据库支持全外连接的话,结果集将包含两个所有记录,并且没有匹配记录将用NULL填充相应

10410

高性能 MySQL 第四版(GPT 重译)(二)

但是,这也意味着您用户帐户在host必须只有 IP 地址、“localhost”或 IP 地址通配符。任何在host具有主机名用户帐户将无法登录。...(MySQL 仅在连接关闭时添加线程到缓存,并且仅在创建连接时从缓存删除线程。)...当缓存中有一个线程且创建连接时,MySQL 会将线程从缓存移除并分配给连接。当连接关闭时,如果有空间,MySQL 会将线程放回缓存。如果没有空间,MySQL 会销毁线程。...我们对两种设计进行了基准测试。首先,在具有足够内存容纳索引服务器上向两个各插入一百万条记录。接下来,我们向相同插入三癃万行,这使得索引比服务器内存还要大。...使用不同索引策略插入一百万行速度 仅 state_id state_id 和 state_id_2 都有 InnoDB,足够内存容纳两个索引 80 秒 136 秒 您所见,向具有更多索引插入行会更慢

17710

MySQL 用户与授权管理详解

Mysql从3.22.11开始引入两个语句做这件事,GRANT语句创建Mysql用户并指定其权限,而REVOKE语句删除权限。...可以通过指定一个columns字句是权限是特定。 5.user 权限授予用户,它由一个用户名和主机名组成。在MySQL,你不仅指定谁能连接,还有从哪里连接。...这允许你让两个同名用户从不同地方连接MySQL让你区分他们,并彼此独立地赋予权限。 MySQL一个用户名就是你连接服务器时指定用户名,该名字不必与你Unix登录名或Windows名联系起来。...注:用户名、口令、数据库和名在授权表记录是大小写敏感,而主机名和列名不是。 三、GRANT语句种类 一般地,你可以通过询问几个简单问题识别GRANT语句种类: 谁能连接,从那儿连接?...你可以通过建立一个分开数据库(tmp)并授予开数据库上所有权限进行。

2K30

SQL 语法速成手册

DISTINCT 用于返回唯一不同值。它作用于所有,也就是说所有值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回总行数。...外连接返回一个所有行,并且仅返回来自次满足连接条件那些行,即两个是相等。外连接分为左外连接、右外连接、全外连接Mysql 不支持)。 左外连接就是保留左没有关联行。...UNION 基本规则 所有查询数和顺序必须相同。 每个查询涉及数据类型必须相同或兼容。 通常返回列名取自第一个查询。...确保某(或两个多个结合)有唯一标识,有助于更容易更快速地找到一个特定记录。 FOREIGN KEY - 保证一个数据匹配另一个参照完整性。...可以使用触发器进行审计跟踪,把修改记录到另外一张MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

17.1K40

去 BAT 面试,总结了这 50 道 MySQL 面试题!

Latin字符两个数据是相同,但是对于Unicode和其他编码,它们是不同。 6、请简洁描述MysqlInnoDB支持四种事务隔离级别名称,以及逐级之间区别?...Heal大小可通过称为max_heap_table_sizeMysql配置变量控制。 17、MyISAM Static和MyISAM Dynamic有什么区别?...在Mysql,使用以下代码查询显示前50行: SELECT*FROM LIMIT 0,50; 38、可以使用多少列创建索引? 任何标准最多可以创建16个索引。...CONCAT(A, B) - 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 FORMAT(X, D)- 格式化数字X到D有效数字。...Mysql服务器通过权限控制用户对数据库访问,权限存放在mysql数据库里,由mysql_install_db脚本初始化。

3.1K20

SQL 语法速成手册

DISTINCT 用于返回唯一不同值。它作用于所有,也就是说所有值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回总行数。...外连接返回一个所有行,并且仅返回来自次满足连接条件那些行,即两个是相等。外连接分为左外连接、右外连接、全外连接Mysql 不支持)。 左外连接就是保留左没有关联行。...UNION 基本规则 所有查询数和顺序必须相同。 每个查询涉及数据类型必须相同或兼容。 通常返回列名取自第一个查询。...确保某(或两个多个结合)有唯一标识,有助于更容易更快速地找到一个特定记录。 FOREIGN KEY - 保证一个数据匹配另一个参照完整性。...可以使用触发器进行审计跟踪,把修改记录到另外一张MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

16.8K20

MySQL入门很轻松》第3章:数据库创建与操作

(1)数据:数据库数据与我们日常生活中使用表格类似,由和行组成。其中,每一代表一个相同类型数据。...(2)主键:每个通常都有一个主关键字,用于唯一标识一条记录。主键是唯一,用户可以使用主键查询数据。 (3)外键:用于关联两个。...(7)默认值:默认值是当在创建或插入数据时,为没有指定具体值数据项赋予事先设定好值。...(2)(col):具有相同数据类型数据集合。 (3)行(row):每一行用来描述某条记录具体信息。 (4)值(value):行具体信息,每个值必须与该数据类型相同。...例如,可以使用mysql 数据库mysql.user修改root用户密码。

1.3K30

MySQL学习笔记-基础介绍

连接查询是同时查询两个两个以上时使用。当不同存在相同意义时,可通过该字段连接这几个MySQL支持不同连接类型:交叉连接、内连接、自连接查询。...内连接最常见列子是相等连接,还有不等连接、自然连接,也就是连接某个与每个相同。 在交叉连接基础上添加where 子句可以实现内连接。...然后使用“别名.列名”读取数据。 6.3.3 外连接查询 外连接查询可以查询两个两个以上。外连接查询也需要通过指定字段进行连接。当该字段取值相等时,可以查询出该记录。...由于数据存储在数据库,所以索引是创建在数据库对象上,由一个或多个字段生成键组成,这些键存储在数据结构(B-数或哈希通过MySQL可快速查找与键值相关联字段。...使用场景: 创建索引可提供查询速度,但过多索引则会占据许多磁盘空间。因此创建索引前要权衡利弊。 1、设置唯一性约束字段,可更快通过该索引查到某条记录,比如学生学号具有唯一性。

21610

Mysql 快速指南

DISTINCT 用于返回唯一不同值。它作用于所有,也就是说所有值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回总行数。...外连接返回一个所有行,并且仅返回来自次满足连接条件那些行,即两个是相等。外连接分为左外连接、右外连接、全外连接Mysql 不支持)。 左外连接就是保留左没有关联行。...UNION 基本规则 所有查询数和顺序必须相同。 每个查询涉及数据类型必须相同或兼容。 通常返回列名取自第一个查询。...确保某(或两个多个结合)有唯一标识,有助于更容易更快速地找到一个特定记录。 FOREIGN KEY - 保证一个数据匹配另一个参照完整性。...可以使用触发器进行审计跟踪,把修改记录到另外一张MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

6.8K20

MySQL查询优化-基于EXPLAIN

将主键置于where列表MySQL就能将该查询转换为一个常量 eqref:出现在要连接几个查询计划,驱动只返回一行数据,且这行数据是第二个主键或者唯一索引,且必须为 not null...给出了一个百分比值,这个百分比值和rows值一起使用,可以估计出那些将要和执行计划前一个(前一个就是指id值比当前id小)进行连接数目。...对于具有用户定义聚集索引 InnoDB , 即使从Extra没有使用索引, 也可以使用该索引。...事实上,PRIMARY KEY 索引仅是一个具有名称 PRIMARY UNIQUE 索引。这表示一个只能包含一个 PRIMARY KEY,因为一个不可能具有两个同名索引。...如果没有创建 PRIMARY KEY 索引,但具有一个或多个 UNIQUE 索引,则 MySQL 将删除第一个 UNIQUE 索引。 如果从删除了某,则索引会受到影响。

1.6K20

去 BAT 面试,总结了这 55 道 MySQL 面试题!

Latin字符两个数据是相同,但是对于Unicode和其他编码,它们是不同。 8、请简洁描述MysqlInnoDB支持四种事务隔离级别名称,以及逐级之间区别?...Heal大小可通过称为max_heap_table_sizeMysql配置变量控制。 22、MyISAM Static和MyISAM Dynamic有什么区别?...在Mysql,使用以下代码查询显示前50行: SELECT*FROM LIMIT 0,50; 44、可以使用多少列创建索引? 任何标准最多可以创建16个索引。...CONCAT(A, B) - 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。 FORMAT(X, D)- 格式化数字X到D有效数字。...Mysql服务器通过权限控制用户对数据库访问,权限存放在mysql数据库里,由mysql_install_db脚本初始化。

17.7K20

SQL 性能优化梳理

键值类数据库可以参考: https://www.jianshu.com/p/098a870d83e4 先简单梳理下Mysql基本概念,然后分创建时和查询时这两个阶段优化展开。...第一层:客户端通过连接服务,将要执行sql指令传输过来 第二层:服务器解析并优化sql,生成最终执行计划并执行 第三层:存储引擎,负责数据储存和提取 1.2 锁 数据库通过锁机制解决并发场景-共享锁...创建完全独立汇总表\缓存,定时生成数据,用于用户耗时时间长操作。对于精确度要求高汇总操作,可以采用 历史结果+最新记录结果 达到快速查询目的。...数据迁移,升级过程可以使用影子表方式,通过修改原名,达到保存历史数据,同时不影响使用目的。 2.2 索引 索引包含一个或多个值。MySql只能高效利用索引最左前缀。...针对特别长字符串,可以使用前缀索引,根据索引选择性选择合适前缀长度。 使用多索引时候,可以通过 AND 和 OR 语法连接。 重复索引没必要,(A,B)和(A)重复。

83620
领券