SQL又杂又烦,记不住,网上搜到的语句还未必正确。这里做一个Record

基本操作

数据库操作

数据表操作

create index [索引名] on [表名]([列名]);				/* 以选定列为索引信息,建立普通索引 */

create view [视图名] as [select子句];				/* 建立视图 */
-- 语法上有点类似于使用临时派生表, select出的东西当作一个视图

数据行操作

insert into [表名] values ([对应数据]) 				/* 插入数据(对应数据需按顺序全部填写) */
insert into [表名]([列名]) values ([对应数据]) /* 插入数据(部分列数据) */ update [表名] set [待修改列名]=[修改值] where [条件,where子句选择行] /* 更新行中某数据 */ delete from [表名] where [条件,where子句选择行] /* 删除行数据 */

数据列操作

desc [表名];							/* 查看列 */
alter table [表名] add [列名+完整描述] [具体位置]; /* 插入列 */
alter table [表名] drop [列名]; /* 删除列 */
alter table [表名] modify [列名+完整描述] [具体位置]; /* 移动列的位置 */
-- e.g.
-- alter table user_account modify Permission tinyint not null unsigned after CodeName;
alter table [表名] modify [列名] [新描述]; /* 修改列属性 */
alter table [表名] change [列名] [新列名] [新描述]; /* 修改列名字+属性 */
-- 列中数据不会被重置(不管是改名字、属性还是约束) alter table [表名] add unique([列名]); /* 给已有表某列添加约束 */
/* 解释 */
[具体位置] : after [列名] | first
[列名+完整描述] : 完整描述包括:类型、约束等,例如 Permission tinyint not null unsigned
在操作(如 add drop)后也可再多写一个 column

进阶操作

一些非直接的选择操作

1.获取表c_table中a字段最大的两个数字: 可以排序后限制输出,使用order by和limit

select a from `c_table` order by a desc limit 2;

2.使用临时派生表(记得,必须提供别名Every derived table must have its own alias

3.update操作的条件又对目标表进行了select,则需要将该select外包一层才行

设置变量

触发器

delimiter $$
create trigger [触发器名] /* 命名规则trig_[表名]_[属性名]_[触发含义]_[触发行为],如trig_teacher_age_lowest_i */
[before/after] [insert/update/delete] on [表名]
[for each row] /* 行级:sql影响的每一行都会执行; 语句级:单条sql一次 */
begin
statement
end $$
delimiter ;

常用搭配语句:异常报错

signal sqlstate [异常编解码,字符串] set message_text=[异常信息,字符串]

存储过程

MySQL 8.0 语法记录的更多相关文章

  1. MySQL 8.0 新增SQL语法对窗口函数和CTE的支持

    尝试了一下MySQL 8.0的部分新特性. 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛 ...

  2. MySQL的sql_mode参数之NO_AUTO_VALUE_ON_ZERO对主键ID为0的记录影响

    最近遇到一个不合理使用数据库进行项目开发最终导致项目进度受阻的一个问题,某天几位开发人员找到我并告知数据库中某张表数据无法写入,又告知某行记录被删除了,因为被删除的记录对开发框架影响很大,他们已尝试重 ...

  3. mysql 8.0.18 手工安装记录

    mysql 8.0.18 手工安装记录 为了日常方便,特记录如下. 一.安装系统依赖包 #.系统依赖包安装 yum -y install make gcc-c++ cmake bison-devel ...

  4. MySQL 8.0.13安装修改密码的一个问题,记录一下。

    https://blog.csdn.net/qq_37350706/article/details/81707862 关于安装MySQL 8.0.13,本人就不多说了,上面这个链接讲的非常详细 请参考 ...

  5. PHP定时备份MySQL,mysqldump语法大全

    几个常用操作: 1.备份 # 只导出表结构 d:/PHP/xampp/mysql/bin/mysqldump -h127.0.0.1 -P3306 -uroot -p123456 snsgou_sns ...

  6. mysql防止重复插入记录方法总结

    mysql防止重复插入记录方法总结 防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了. ...

  7. MySQL的一些语法总结

    初学MySQL,今天遇到了一个问题,然后汇总了一下MySQL的一些语法 1. date和datetime类型是不同的 date只记录日期(包括年月日),datetime记录日期和时间(包括年月日时分秒 ...

  8. sql点滴41—mysql常见sql语法

    原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...

  9. MySQL create table 语法

    MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name     [(create_definitio ...

  10. What's New In MySQL 8.0

        由于8.0内有很多C++11特性.需要gcc4.8版本以上.Rhel6系列默认gcc是4.7.在安装gcc6.1之后仍然检查不过. 原因可能是6.1版本不一定高于4.7,暂不讨论.鉴于升级gc ...

随机推荐

  1. Nginx漏洞修复:SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱

    SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱[原理扫描]. 需编辑 nginx.conf 解决. 1.生成 dhparams.pem. cd /usr/local/nginx ...

  2. docker容器内使用sudo 报错bash: sudo: command not found

    解决办法: 先查看linux系统版本: cat /proc/version 1.RedHat系主要有RedHat,Fedora,CentOs等: RedHat系列的包管理工具是yum,执行 yum i ...

  3. Springboot整合WebSocket作为服务端遇到的坑

    最近遇到一个需求,对接某公有云上的坐席系统,需要接收人工坐席和客户对话的语音流,然后调用ASR(Automatic Speech Recognition,自动语音识别)引擎,对语音流实时转写,最后将实 ...

  4. [转]CMake:相关概念与使用入门

    CMake:相关概念与使用入门(一) CMake:搜索文件和指定头文件目录(三) CMake 子工程添加 根目录中他文件夹里的cpp文件 翻译 搜索 复制

  5. [转]关于Visual Studio:如何使用cmake检测64位MSVC?

    1.如何使用 cmake 检测 64 位 MSVC? 2.关于Visual Studio:如何使用cmake检测64位MSVC?

  6. PS2021、色环插件Coolorus下载+色环无法拖动问题和没有压感问题的解决

    PS2021+色环插件Coolorus+色环无法拖动问题解决+没有压感问题解决 1.资源下载链接 PS各版本下载: 感谢微博@vposy大佬无私奉献提供的各版本ADOBE软件直装破解: 百度网盘: p ...

  7. Swagger介绍和应用

    1.什么是swaggerSwagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的 ...

  8. runoob-matplotlib(python)

    https://www.runoob.com/matplotlib/matplotlib-tutorial.html Matplotlib 教程 Matplotlib 是 Python 的绘图库,它能 ...

  9. 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(4)

    1.问题描述: 添加了很多的marker点,每个marker点都设置了customInfoWindow,但是每次只能显示一个customInfoWindow吗? 解决方案: Marker的InfoWi ...

  10. MongoDB:【索引类型】单字段索引、复合索引、其他索引

    查询性能分析: