Mysql的sql语句学习

这篇具有很好参考价值的文章主要介绍了Mysql的sql语句学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mysql的sql语句

参考:
史上超强最常用SQL语句大全
SQL的执行顺序
SQL语句书写顺序与执行顺序

修改字段类型

# 要修改一个字段的数据类型,可以使用以下ALTER TABLE语句
ALTER TABLE 表名 MODIFY 列名 新数据类型;
# 如果需要修改字段的名称和数据类型,可以使用CHANGE语句。CHANGE语句的语法如下:
ALTER TABLE 表名 CHANGE 原列名 新列名 新数据类型;
# 增加新字段
alter table 表名 add 字段名 varchar(32) default 默认值 comment '备注名' after/before 老字段;

分组查询每组最新一条数据

Mysql分组查询每组最新的一条数据(五种实现方法)

Mysql中获取分组的最新一条记录

substr函数

MySQL substr函数使用详解

decimal(a, b)

decimal(a,b)
a:指的是整数和小数所能存的最多的位数
b:指的是小数数字的位数,即a-b就是整数的位数

创建索引

1、使用CREATE INDEX创建
2、使用ALTER语句创建
3、建表的时候创建索引
区别:

  • alter table一次可以添加多个索引,create index一次只能创建一个。创建多个索引时,alter table只对表扫描一次,效率较高。
  • alter table可以不指定索引名,此时将使用索引列的第一列的列名,也可以指定索引名字。create index必须指定索引名。
    因此,alter table添加索引更灵活,所以在创建索引的时候提倡使用alter table这种形式。
CREATE INDEX indexName ON tableName (columnName(length));

ALTER TABLE table_name ADD INDEX `index_name` (column_list);
ALTER TABLE table_name ADD UNIQUE (column_list);
ALTER TABLE table_name ADD PRIMARY KEY (column_list);
alter table 表名 add fulltext (列名)  ## 全文索引
ALTER TABLE table_name ADD UNIQUE `index_name`(column_list);
alter table 表名 add index 索引名(index name) (列名1,列名2.......)


CREATE TABLE tableName( 
  id INT NOT NULL,  
  columnName  columnType,
  INDEX [indexName] (columnName(length)) 
);

json_extract函数

数据库中某个字段会需要存储json格式字符串,查询的时候有时json数据较大,每次全部取出再去解析查询效率较低,也较麻烦

Mysql5.7及之后的版本里提供了json_extract函数,可以通过key查询value值(如果是json数组类型,可以通过下标获取对应位置的值

语法:
JSON_EXTRACT(json_doc, path[, path] …)

用法提示:
如果json字符串不是数组,则直接使用 $.字段名
如果json字符串是数组[Array],则直接使用 $[对应的索引ID]

MySQL中json_extract函数说明
怎么通过SQL取出数据库中JSON字段中的值

Mysql中json数据类型使用

MySQL JSON数据类型
MySQL 5.7 JSON特性支持

concat()相关函数

concat()函数

1、功能:将多个字符串连接成一个字符串。

2、语法:concat(str1, str2,…)

返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null

concat_ws()函数

1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2、语法:concat_ws(separator, str1, str2, …)

说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

group_concat()

1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

主键查询、修改、删除

sql主键删除/sql主键修改

MySQL修改主键的方法(mysql修改主键)

如何在MySQL中修改主键

MySQL如何修改主键

SQL 通过SELECT语句更新多个字段的值

SQL 通过SELECT语句更新多个字段的值

Mysql查询:行转列与列转行

Mysql查询:行转列与列转行

字段合并为一个字段

数据库将查询的多个字段结果合并为一个字段处理文章来源地址https://www.toymoban.com/news/detail-632426.html

到了这里,关于Mysql的sql语句学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql(二)SQL语句

    目录 一、SQL语句类型 二、数据库操作  三、数据类型  四、创建  五、查看  六、更改  七、增、删、改、查  八、查询数据 SQL语句类型:     DDL         DDL(Data Definition Language,数据定义语言):用于定义数据库中的各种对象,包括数据库、表、视图、触发器等,常

    2024年02月16日
    浏览(52)
  • mysql--sql常用语句

    通过profile命令来查看当前最主要的耗费时间的步骤。 mysql select state,sum(duration) as total_r , round(100*sum(duration)/(select sum(duration) from information_schema.profiling where query_id=6),2) as pct_r,count(*) as calls,sum(duration)/count(*) as \\\'R/Call\\\' from information_schema.profiling where query_id group by 

    2024年04月17日
    浏览(53)
  • MySQL- sql语句基础

    报错:You can’t specify target table ‘Person’ for update in FROM clause 原因:mysql不能在同一语句中先select出同一表中的某些值,然后对这个表做修改 错误写法 解决方法:添加临时表 正确写法 我们可以使用函数 GROUP_CONCAT() 将多行中的多个值组合成一个字符串。下面显示了 GROUP_CONC

    2024年02月12日
    浏览(37)
  • 【MySQL数据库】MySQL 高级SQL 语句一

    ) % :百分号表示零个、一个或多个字符 _ :下划线表示单个字符 ‘A_Z’:所有以 ‘A’ 起头,另一个任何值的字符,且以 ‘Z’ 为结尾的字符串。例如,‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字符,而不是一个字符)。 ‘ABC%’

    2024年02月09日
    浏览(241)
  • [MySQL]SQL优化之sql语句优化

    🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 回顾: 📕索引分类: 📕索引失效: 📕设计原则: 📕SQL性能分析 二、SQL优化 语句优化 📕 insert语句: 📕 主键优化: 📕 order by优化: 📕 group by优化: 📕 limit 优化 📕 count 优化 📕 update 优化  📕索引分类: 一般分类:主

    2024年02月04日
    浏览(42)
  • MySQL 高级(进阶) SQL 语句

     创建两表以供使用   ---- SELECT ----显示表格中一个或数个字段的所有数据记录 ---- DISTINCT ----不显示重复的数据记录 ---- WHERE ----有条件查询 ---- AND OR ----且 或 ---- IN ----显示已知的值的数据记录 ---- BETWEEN ----显示两个值范围内的数据记录(包含边界值) ---- 通配符 ----通常通配

    2024年02月10日
    浏览(51)
  • 【SQL】MySQL的查询语句

    MySQL是一种广泛使用的关系型数据库管理系统,它被广泛地应用于各种应用程序和网站。学会使用MySQL的查询语句可以帮助我们更好地管理和分析数据,从而更好地利用数据库中的信息。在本篇博客中,我们将深入学习MySQL的查询语句,包括 SELECT 语句、 WHERE 子句、 JOIN 语句等

    2024年02月06日
    浏览(47)
  • MySQL高级(进阶)SQL语句

    #显示一个字段或者多个字段的所有内容 SELECT “字段” FROM 表名 ; #distinct对字段去重查询 (最好只对单个字段进行去重) SELECT DISTINCT 字段名 FROM 表名 #where 有条件查询 SELECT “字段” FROM 表名 WHERE 条件(例如:sales =!= 100); #and or 查看多个条件 SELECT “字段” FROM 表名 WHE

    2024年02月05日
    浏览(43)
  • MySQL进阶SQL语句(二)

    视图跟表格的不同是,表格中有实际储存数据记录,而视图是建立在表格之上的一个架构,它本身并不实际储存数据记录。 临时表在用户退出或同数据库的连接断开后就自动消失了,而视图不会消失。 视图不含有数据,只存储它的定义,它的用途一般可以简化复杂的查询。

    2024年02月11日
    浏览(41)
  • MySQL基础(二)SQL语句

    目录 前言 一、SQL语句类型 二、数据库操作 查看 创建 进入 删除 更改 三、数据表操作 (一)、数据类型 1.数值类型 2.时间日期类型 3.字符串类型 4.二进制类型 (二)、查看 1.查看表内的数据 2.查看表格的属性 (三)、创建 1.写在列之后,声明列的字符集 2.写在表之后,声

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包