mysql字符串连接

SQL、T-SQL与PL-SQL的区别

萝らか妹 提交于 2020-01-31 01:58:54
本文针对目前最新版9.5.1,若非说明,文中所说文档即指官方文档。本人刚接触PostgreSQL不久,文中不免错漏,请大家指正;随着了解深入,本文[可能]会不定期更新补足。 JSON PostgreSQL支持Json格式数据,有两种类型:json和jsonb。两者在效率上有所区别,而这是因为jsonb存储的是格式化后的二进制数据,所以在写入时,json类型比较快,而在检索时(注意这里说的检索不是简单的读取整个数据,而是比如检索json数据中某个键的值的场景),jsonb效率较高。一般情况下,使用jsonb就可以了。json数据是为了弥补关系型数据在伸缩性扩展性上的不足,但是文档也说了,不能啥都往里放,要考虑数据原子性和数据大小。 json类型可以作包含判断和是否存在的判断(containment or existence),表示符号分别为@>和?(以及其它一些变种)。对于这两种牵涉到多个键和元素的判断场景,json类型比下面要讲的arrays更适合,因为其对查询有内在的优化机制,而array只是单纯的线性查找。 若json列需要经常检索,那么可以在其上建立GIN索引,jsonb支持两种特有的GIN索引jsonb_ops和jsonb_path_ops。创建的语法如下: CREATE INDEX idxgin ON api USING GIN (jdoc); CREATE INDEX

3. 高级

回眸只為那壹抹淺笑 提交于 2020-01-30 20:06:31
高级 3.1. 关系 3.2. 连接 3.3. 自关联 3.4. 子查询 3.5. 内置函数 3.6. 视图 3.7. 事务 3.8. 索引 简介 实体与实体之间有3种对应关系,这些关系也需要存储下来 在开发中需要对存储的数据进行一些处理,用到内置的一些函数 视图用于完成查询语句的封装 事务可以保证复杂的增删改操作有效 先看个问题 问:查询每个学生每个科目的分数 分析:学生姓名来源于students表,科目名称来源于subjects,分数来源于scores表,怎么将3个表放到一起查询,并将结果显示在同一个结果集中呢? 答:当查询结果来源于多张表时,需要使用连接查询 关键:找到表间的关系,当前的关系是 students表的id---scores表的stuid subjects表的id---scores表的subid 则上面问题的答案是: select students.sname,subjects.stitle,scores.score from scores inner join students on scores.stuid=students.id inner join subjects on scores.subid=subjects.id; 结论:当需要对有关系的多张表进行查询时,需要使用连接join 连接查询 连接查询分类如下: 表A inner join 表B

一千行 MySQL 学习笔记

风流意气都作罢 提交于 2020-01-30 13:44:25
原文: 一千行 MySQL 学习笔记 基本操作 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 数据库操作 /* 数据库操作 */ ------------------ -- 查看当前数据库 SELECT DATABASE(); -- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version(); -- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项 数据库选项: CHARACTER SET charset_name COLLATE collation_name -- 查看已有库 SHOW DATABASES[ LIKE 'PATTERN'] -- 查看当前库信息 SHOW CREATE DATABASE 数据库名 -- 修改库的选项信息 ALTER DATABASE 库名 选项信息 -- 删除库 DROP

数据库概念与实现(四)

若如初见. 提交于 2020-01-27 00:26:36
author:QYX 数据定义语言(DDL):提供定义关系模式,删除关系,修改关系模式的命令 数据操纵语言(DML):SQL DML提供从数据库中查询信息,插入元组,删除元组,修改元组的能力 完整性:DDL包括定义完整性约束的能力,保存在数据库的数据必须满足所定义的完整性约束。破坏完整性约束的更新是不允许存在的 视图:DDL包括定义视图的命令 事务控制:SQL包括定义事务开始和结束的命令 嵌入式SQL和动态SQL:嵌入式SQL和动态SQL定义SQL语句如何嵌入到通用编程语言中 授权:DDL包括定义对关系和视图访问权限的命令 DDL能定义每个关系的信息: 1 每个关系的模式 2 每个属性的取值类型 3 完整性约束 4 每个关系维护的索引集合 5 每个关系的安全性和权限信息 6 每个关系在磁盘上的物理存储结构 基本类型 SQL定义了多种固有的数据类型 char 固定长度的字符串 varchar 可变长度的字符串 int 整数类型 smallint 小整数类型 numeric(p,d) 定点数 这个数有p位数字(加上一个符号位),其中d位数字在小数点右边 real,double precision 浮点数与双精度浮点数,精度与机器相关 float(n) 精度至少为n位的浮点数 空值:缺失的值,该值可能存在但并不为人知,或者根本可能不存在,我们应该避免空值的使用

PHP函数

偶尔善良 提交于 2020-01-26 11:56:53
1 array_change_key_case - 将数组中的所有键名修改为全大写或小写 2 array_chunk - 将一个数组分割成多个 3 array_column - 返回数组中指定的一列 4 array_combine - 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 5 array_count_values - 统计数组中所有的值 6 array_diff - 计算数组的差集 7 array_diff_assoc - 带索引检查计算数组的差集 8 array_diff_key - 使用键名比较计算数组的差集 9 array_diff_uassoc - 用用户提供的回调函数做索引检查来计算数组的差集 10 array_diff_ukey - 用回调函数对键名比较计算数组的差集 11 array_fill - 用给定的值填充数组 12 array_fill_keys - 使用指定的键和值填充数组 13 array_filter - 用回调函数过滤数组中的单元 14 array_flip - 交换数组中的键和值 15 array_intersect - 计算数组的交集 16 array_intersect_assoc - 带索引检查计算数组的交集 17 array_intersect_key - 使用键名比较计算数组的交集 18 array

【转】MySql常用函数大全

流过昼夜 提交于 2020-01-23 23:07:28
转载地址: https://www.cnblogs.com/luxd/p/9916677.html MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一讲中将讲解的内容包括: 数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数 MySQL函数是MySQL数据库提供的内部函数。这些内部函数可以帮助用户更加方便的处理表中的数据。本小节中将简单介绍MySQL中包含哪几类函数,以及这几类函数的的使用范围和作用。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。SELECT语句及其条件表达式都可以使用这些函数。同时,INSERT 、UPDATE、DELECT语句及其条件表达式也可以使用这些函数。例如,表中的某个数据是负数,现在需要将这个数据显示为正数。这就可以使用绝对值函数。从上面可以知道,MySQL函数可以对表中数据进行相应的处理,以便得到用户希望得到的数据。这些函数可以使MySQL数据库的功能更加强大。 一、数学函数 数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。数学函数包括绝对值函数

sql语句大全

孤街醉人 提交于 2020-01-23 01:00:20
整理了一下,希望对大家有用 SQL语句大全 --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 转: http://topic.csdn.net/u/20110512/14/ac563ffc-e973-40ec-84ba-e655494fa405.html 相关文章: DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA --从数据库中删除一个模式 CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN

MYSQL之视图、触发器、事务

北城余情 提交于 2020-01-20 22:18:51
一 视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql> select * from course; +-----+--------+------------+ | cid | cname | teacher_id | +-----+--------+------------+ | 1 | 生物 | 1 | | 2 | 物理 | 2 | | 3 | 体育 | 3 | | 4 | 美术 | 2 | +-----+--------+------------+ rows in set (0.00 sec) mysql> select * from teacher; +-----+-----------------+ | tid | tname | +-----+-----------------+ | 1 | 张磊老师 | | 2 | 李平老师 | |

一 视图

情到浓时终转凉″ 提交于 2020-01-20 22:17:00
一 视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql> select * from course; +-----+--------+------------+ | cid | cname | teacher_id | +-----+--------+------------+ | 1 | 生物 | 1 | | 2 | 物理 | 2 | | 3 | 体育 | 3 | | 4 | 美术 | 2 | +-----+--------+------------+ 4 rows in set (0.00 sec) mysql> select * from teacher; +-----+-----------------+ | tid | tname | +-----+-----------------+ | 1 | 张磊老师 | | 2 | 李平老师 |

mysql -=- DDL

↘锁芯ラ 提交于 2020-01-16 09:02:06
net start mysql mysql -uroot -p show databases use 数据库名 how tables -------------------------------------------------------------------------- select goods_id ,goods_name ,shop_price+1,market_price,market_price-shop_price from goods; select * from goods where goods_id = 32; select goods_id,goods_name,cat_id from goods where cat_id <> 32;//不等于 select goods_id,goods_name,cat_id from goods where cat_id > 32;//不等于 select goods_id,goods_name,cat_id from goods where cat_id <= 32 and cat_id >= 2;//不等于 select goods_id,cat_id from goods where cat_id = 4 or cat_id =11;//或者 select goods_id,cat_id from