当前位置:网站首页>SQL language
SQL language
2022-07-04 13:27:00 【Game programming】
SQL Language
elements of grammar
notes
# Use '#' notes -- Use '--' notes /* Multiline comment */
Create use database
CREATE DATABASE db01;USE db01;
Create table
CREATE TABLE table01 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, col1 INT NOT NULL DEFAULT 1, col2 VARCHAR(45) NULL, col3 DATE NULL);
Modify table
# Add new column ALTER TABLE table01 ADD col CHAR(20);# Modify the column ALTER TABLE Table name CHANGE Original field name new field name Field type constraint condition ALTER TABLE table01 CHANGE col col4 CHAR(32) NOT NULL DEFAULT 'xxx';# Delete column ALTER TABLE table01 DROP COLUMN col4;# Delete table DROP TABLE table01;
Additions and deletions
# Add data INSERT INTO table01(col1, col2)VALUES(val1, val2);# Table data migration CREATE TABLE newtable ASSELECT * FROM table01;# to update UPDATE table01SET col = valWHERE Conditions ;# Delete DELETE FROM table01WHERE Conditions ;
Inquire about
Basics
# duplicate removal SELECT DISTINCT * FROM table01;# Limit return SELECT * FROM table01 LIMIT 5, 2; # from 5 Start ( barring 5) Return two rows of data , namely 6,7# Sort ASC Ascending ,DESC Descending SELECT * FROM table01ORDER BY col1 DESC, col2 ASC;# Screening SELECT * FROM table01 WHERE Conditions ;
Calculated field
Letter Count | say bright |
---|---|
AVG() | Returns the average of a column |
COUNT() | Returns the number of rows in a column |
MAX() | Returns the maximum value of a column |
MIN() | Returns the minimum value of a column |
SUM() | Returns the sum of values in a column |
# give an example : Calculate the weight removed col1 The mean value of the column is named avg_colSELECT AVG(DISTINCT col1) AS avg_colFROM table01;
Text processing
have access to LIKE + Regular expressions Filter text
SELECT *FROM table01WHERE col1 LIKE '[^AB]%'; -- Don't to A and B Any text at the beginning
You can also use some functions for text processing :
function | explain |
---|---|
LEFT() | The character on the left |
RIGHT() | The character on the right |
LOWER() | Convert to lowercase characters |
UPPER() | Convert to uppercase characters |
LTRIM() | Remove the space on the left |
RTRIM() | Remove the space on the right |
LENGTH() | length |
SOUNDEX() | Convert a string into an alphanumeric pattern that describes its phonetic representation |
grouping
Grouping is to put rows with the same data value in the same group . You can use the summary function to process the same grouped data .
WHERE Filter line ,HAVING Filter grouping , Row filtering should precede group filtering .
SELECT col1, COUNT(*) AS numFROM table01WHERE col1 > 2GROUP BY col1HAVING num >= 2;
We also need to pay attention to the following points
- GROUP BY Clause appears in WHERE After Clause ,ORDER BY Before clause ;
In addition to summary fields ,SELECT Every field in the statement must be in GROUP BY Given in Clause ;
NULL Your guild is divided into separate groups ;
majority SQL Implementation does not support GROUP BY Columns have variable length data types .
Subquery
Only one field of data can be returned in the subquery . The results of subqueries can be used as WHRER Filter condition of statement :
SELECT *FROM table01WHERE col1 IN (SELECT col1 FROM table02);
Link query
Join is used to join multiple tables , Use JOIN keyword , And conditional statements use ON instead of WHERE.
Equivalent connection :
SELECT A.value, B.valueFROM tablea AS A INNER JOIN tableb AS BON A.key = B.key;
It can also be used indefinitely INNER JOIN, Instead, use normal queries and in WHERE Join the columns to be joined in the two tables by equivalent method .
SELECT A.value, B.valueFROM tablea AS A, tableb AS BWHERE A.key = B.key;
Natural join :
Natural join is to join columns with the same name through equivalence test , Columns with the same name can have more than one .
SELECT A.value, B.valueFROM tablea AS A NATURAL JOIN tableb AS B;
External connection :
It is divided into left outer connection , Right outer connection and all outer connection , The left outer join is to keep the unrelated rows in the left table , The right outer connection is the same .
SELECT A.value, B.valueFROM tablea AS A LEFT OUTER JOIN tableb as bON A.col1 = B.col1;
Combination query
Use UNION To combine two queries , If the first query returns M That's ok , The second query returns N That's ok , The result of the combined query is generally M+N That's ok . Each query must contain the same columns 、 Expressions and aggregation functions .
By default, the same line will be removed , If you need to keep the same company , Use UNION ALL.
SELECT *FROM table01WHERE col1 = 1UNIONSELECT *FROM table01WHERE col1 =2;
Use view query
View is a virtual table , It doesn't contain data itself , It can't be indexed . The operation on the view is the same as that on the normal table .
Here is a simple view creation :
CREATE VIEW myview ASSELECT sentence ;
Rights management
stay mysql in , The account information is saved in mysql In this database
USE mysql;SELECT * FROM user;
Account operation
# Create an account CREATE USER myuser IDENTIFIED BY ' password ';# Change user name RENAME myuser TO newname;# Delete user DROP USER newname;# View permissions SHOW GRANTS FOR myuser;# to grant authorization GRANT SELECT, INSERT ON mydatabase.* TO myuser;# Delete permission REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;# Change password SET PASSWROD FOR myuser = Password('new_password');
author :S++
Game programming , A game development favorite ~
If the picture is not displayed for a long time , Please use Chrome Kernel browser .
边栏推荐
- Cors: standard scheme of cross domain resource request
- Reptile exercises (I)
- N++ is not reliable
- PostgreSQL 9.1 soaring Road
- 阿里云有奖体验:用PolarDB-X搭建一个高可用系统
- CTF竞赛题解之stm32逆向入门
- ASP.NET Core入门一
- Golang sets the small details of goproxy proxy proxy, which is applicable to go module download timeout and Alibaba cloud image go module download timeout
- 游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
- 提高MySQL深分页查询效率的三种方案
猜你喜欢
Comparative study of the gods in the twilight Era
【云原生 | Kubernetes篇】深入了解Ingress(十二)
Valentine's Day confession code
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
ASP.NET Core入门一
2022年中国移动阅读市场年度综合分析
求解:在oracle中如何用一条语句用delete删除两个表中jack的信息
Read the BGP agreement in 6 minutes.
Flet教程之 03 FilledButton基础入门(教程含源码)(教程含源码)
CA: efficient coordinate attention mechanism for mobile terminals | CVPR 2021
随机推荐
PostgreSQL 9.1 soaring Road
7 月数据库排行榜:MongoDB 和 Oracle 分数下降最多
Dgraph: large scale dynamic graph dataset
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
Practice: fabric user certificate revocation operation process
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
6 分钟看完 BGP 协议。
从0到1建设智能灰度数据体系:以vivo游戏中心为例
面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读
When MDK uses precompiler in header file, ifdef is invalid
MySQL three-level distribution agent relationship storage
数据库锁表?别慌,本文教你如何解决
FS4056 800mA充电ic 国产快充电源ic
在 Apache 上配置 WebDAV 服务器
Deploy halo blog with pagoda
干货整理!ERP在制造业的发展趋势如何,看这一篇就够了
ArcGIS uses grid processing tools for image clipping
游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
比量子化学方法快六个数量级,一种基于绝热状态的绝热人工神经网络方法,可加速对偶氮苯衍生物及此类分子的模拟
N++ is not reliable