Maison  >  Article  >  base de données  >  Y a-t-il des mots-clés dans MySQL ?

Y a-t-il des mots-clés dans MySQL ?

青灯夜游
青灯夜游original
2022-06-21 12:09:079761parcourir

Il y a des mots-clés dans MySQL. Mysql fournit une variété de mots-clés : 1. BETWEEN, utilisé pour interroger l'heure ou la plage de numéros après l'instruction WHERE ; 2. CALL, utilisé pour appeler des procédures stockées ; 3. CURRENT_DATE, pour obtenir la date actuelle ; la date actuelle et l'heure ; 5. CURRENT_USER, renvoie le nom d'utilisateur de MYSQL ; 6. CURSOR, utilisé pour déclarer le curseur dans MySQL ; 7. DISTINCT, utilisé pour supprimer les données en double.

Y a-t-il des mots-clés dans MySQL ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Lorsque vous utilisez MySQL, essayez généralement d'éviter d'utiliser des mots-clés comme noms de table. Si vous utilisez des mots-clés comme noms de table, vous devez ajouter [] (ou ") à l'instruction SQL selon la méthode d'écriture standard pour distinguer le nom du champ et nom de la table.

Ce qui suit répertorie tous les mots-clés MySQL, dans l'espoir de fournir une aide de référence aux amis qui utilisent MySQL

AJOUTER TOUS ALTER
ANALYSER ET AS
ASC ASENSITIVE AVANT
ENTRE BIGINT BINARY
BLOB DEUX PAR
CALL CASCADE CASE
CHANGE CHAR CHARACTER
CHECK COLLATE COLONNE
ÉTAT CONNEXION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSEUR
BASE DE DONNÉES BASES DE DONNÉES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL DECLARE
DEFAULT DELAYED DELETE
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW p
DOUBLE DROP DUAL
EACH ELSE ELSEIF
ENCLOSED ESCAPED EXISTE
EXIT EXPLAIN FALSE
FETCH FLOAT FLOAT4
FLOAT8 POUR FORCE
ÉTRANGER DE TEXTE COMPLET
GOTO G RANT GROUP
HAVING HIGH_PRIORITY HOUR_MICROSECOND
HOUR_MINUTE HOUR_SECOND IF
IGNORE IN INDEX
INFILE INNER INOUT
INSENSIBLE INSERT INT
INT1 INT2 INT3
INT4 INT8 INTEGER
INTERVAL INTO IS
ITERATE JOIN KEY
CLÉS TUER ÉTIQUETTE
LEADING LEAVE LEFT
LIKE LIMIT LINEAR
LINES LOAD LOCALTIME
LOCALTIMESTAMP LOCK LONG
LONGBLOB LONGTEXT LOOP
LOW_PRIORITY MATCH MEDIUMBLOB
MEDIUMINT MEDIUMTEXT MIDDLEINT
MINUTE_MICROSECOND MINUTE_SECOND MOD
MODIFIES NATURAL NOT
NO_WRITE_TO_BINLOG NULL NUMÉRIQUE
ON OPTIMISE OPTION
OPTIONNELLEMENT OU COMMANDE
OUT OUTER OUTFILE
PRECISION PRIMAIRE PROCÉDURE
PURGE RAID0 RANGE
READ READS REAL
REFERENCES REGEXP RELEASE
RENAME REPEAT REPLACE
EXIGENCE RESTRICT RETOUR
REVOKE DROITE RLIKE
SCHEMA SCHEMAS SECOND_MICROSECOND
SELECT SENSITIVE SEPARATOR
SET SHOW SMALLINT
SPATIAL SPÉCIFIQUE SQL
SQLEXCEPTION SQLSTATE SQLWARNING
SQL_BIG_RESULT SQL_CALC _FOUND_ROWS SQL_SMALL_RESULT
SSL STARTING STRAIGHT_JOIN
TABLE TERMINÉ PUIS
TINYBLOB TINYINT TINYTEXT
TO TRAILING TRIGGER
TRUE UNDO UNION
UNIQUE UNLOCK UNSIGNED
UPDATE USAGE USE
USING UTC_DATE UTC_TIME
UTC_TIMESTAMP VALUES VARBINARY
VARCHAR VARCHARACTER VARYING
WHEN PENDANT
AVEC ÉCRIRE X509
XOR YEAR_MONTH ZEROFILL

Ce qui suit est une liste des fonctions des mots-clés MySQL courants

INNER est utilisée pour la requête de jointure interne. Après avoir défini la condition ON, toutes les données qui remplissent les conditions seront affichées. La différence entre la jointure gauche et la jointure droite est la suivante : INNER n'a pas de focus et MySQL trouvera toutes les données qui remplissent les conditions, alors faites attention à ne pas provoquer de produits cartésiens lors de son utilisation. De plus, puisque INNER est la méthode de connexion par défaut de. MySQL, vous pouvez omettre le mot-clé INNER tel que : SELECT * FROM user JOIN untitled ON user.id = untitled.friend_id
Mot-clé Fonction
ANALYZE L'index peut être réparé via l'instruction Analyse Table. Utilisez "SHOW INDEX FROM table name" pour afficher l'état de l'index dans la table. Lorsque le nombre de valeurs différentes dans le champ est bien supérieur au nombre de CARDINALITÉ dans la table, l'index est essentiellement. Dans ce cas, utilisez "ANALYZE TABLE table name" pour réparer l'index. Utilisez à nouveau "SHOW INDEX FROM table name" pour voir que l'index CARDINALITY est renvoyé. à la normaleSHOW INDEX FROM 表名”查看表中的索引状态,当字段中不同值的数量大大多于表中CARDINALITY 数量时,索引基本没有起作用,这时使用“ANALYZE TABLE 表名” 可以修复索引,再次使用“SHOW INDEX FROM 表名” 可以看到CARDINALITY 索引恢复正常
BETWEEN 用在WHERE之后的时间或者数字的范围查询,如 “SELECT * FROM USER WHERE CREATE BETWEEN '2020-11-20' AND '2020-11-30';” 查询的是20号至30号之间的数据,如果时间类型为DATETIME时查询的范围为00:00:00,比如上面的查询语句中如果CREATE_TIME为DATETIME类型,查询的范围便是“2020-11-20 00:00:00 至 2020-11-30 00:00:00”
CALL 用于调用存储过程,如:CALL showUser()
CASCADE 添加在约束之后,设置之后当删除、更新主表时也会操作从表,例如:“ CONSTRAINT '用户信息' FOREIGN KEY (USER_NAME) REFERENCES TASK.USER (NAME) ON DELETE CASCADE ON UPDATE CASCADE”,添加之后当用户表修改用户名称之后,从表的用户名称也会修改
CURRENT_DATE 用于获取当天日期,如“SELECT CURRENT_DATE”返回的就是当天的日期
CURRENT_TIME 用于获取当前时间,如"SELECT CURRENT_TIME"返回的就是当前的时分秒
DEFAULT CURRENT_TIMESTAMP 创建时间字段时如果加入这段代码代表新增数据时默认插入当前时间,创建字段时:“ create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP 创建时间字段时如果加上这段代码代表修改数据时默认会同步当前时间,创建字段时:“update_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
CURRENT_USER 返回MYSQL的用户名
CURSOR 用于声明mysql中的游标,用在存储过程中,有充当指针的作用,用法:“DECLARE 游标名称 CURSOR FRO 查询出的结果集
DECLARE 用于在复合语句中声明变量,如存储过程中,可以使用SET 变量名 = 值这种方式重新赋值,示例中结果1是“测试”,结果1(2)是“测试1”
DELAYED 用于使用延迟插入操作,在执行DELAYED声明的语句时,数据库会先返回状态信息,然后将插入操作放入队列,等待没有操作队列数据的指令便开始执行队列
DESCRIBE 用于查看数据表中字段的详细设计,有两种用法:1.DESCRIBE 表名🎜🎜🎜BETWEEN🎜🎜L'heure après OÙ Ou une requête de plage de nombres, telle que "SELECT * FROM USER WHERE CREATE BETWEEN '2020-11-20' AND '2020-11-30' code>;" La requête est comprise entre le 20 et le 30. Données, si le type d'heure est DATETIME, la plage de requête est 00:00:00. Par exemple, dans l'instruction de requête ci-dessus, si CREATE_TIME est <strong>DATETIME </strong>, la plage de requête est "2020-11-20 00 : 00:00 à 2020-11-30 00:00:00"🎜🎜🎜🎜CALL🎜🎜 est utilisée pour appeler des procédures stockées, telles que : <code>CALL showUser()🎜🎜🎜🎜CASCADE🎜🎜Ajouté dans Une fois la contrainte définie, la table esclave sera également exploitée lorsque la table maître est supprimée ou mise à jour, par exemple : " CONSTRAINT 'Informations utilisateur' FOREIGN KEY (USER_NAME) REFERENCES TASK.USER (NAME) ON DELETE CASCADE ON UPDATE CASCADE", après avoir ajouté, lorsque le nom d'utilisateur est modifié dans la table utilisateur, le nom d'utilisateur de la table sera également être modifié 🎜🎜🎜🎜CURRENT_DATE🎜🎜 est utilisé pour obtenir la date du jour, par exemple "SELECT CURRENT_DATE" renvoie le jour en cours La date 🎜🎜🎜🎜CURRENT_TIME🎜🎜 est utilisée pour obtenir le Par exemple, "SELECT CURRENT_TIME" renvoie l'heure, la minute et la seconde actuelles 🎜🎜🎜🎜DEFAULT CURRENT_TIMESTAMP🎜🎜Si vous ajoutez ce paragraphe lors de la création d'un champ d'heure, le code représente l'heure actuelle. est inséré par défaut lors de l'ajout de nouvelles données Lors de la création d'un champ : "create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP"🎜🎜🎜🎜ON UPDATE CURRENT_TIMESTAMP🎜🎜Si vous ajoutez ce code lors de la création d'un champ horaire, il représente Lors de la modification des données, l'heure actuelle sera synchronisée par défaut Lors de la création d'un champ : "update_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP"🎜🎜🎜🎜CURRENT_USER🎜🎜Renvoyer le nom d'utilisateur de MYSQL🎜. 🎜🎜🎜CURSOR🎜🎜Utilisation Utilisé pour déclarer le curseur dans mysql. Il est utilisé dans les procédures stockées et sert de pointeur Utilisation : "DECLARE nom du curseur CURSOR FRO ensemble de résultats de requête"🎜🎜🎜🎜. DECLARE🎜🎜 est utilisé dans Lors de la déclaration d'une variable dans une instruction composée, telle qu'une procédure stockée, vous pouvez utiliser SET variable name = value pour réaffecter la valeur. Dans l'exemple, le résultat 1 est "test. ", et le résultat 1(2) est "test 1" 🎜🎜🎜🎜DELAYED🎜🎜 est utilisé pour utiliser des opérations d'insertion retardées. Lors de l'exécution de l'instruction déclarée par DELAYED, la base de données renverra d'abord les informations d'état, puis placera l'opération d'insertion dans la file d'attente, attendez les instructions qui n'exploitent pas les données de la file d'attente, puis commencez à exécuter la file d'attente🎜🎜 🎜🎜DESCRIBE🎜🎜 est utilisée pour visualiser la conception détaillée des champs dans la table de données. Il y a deux utilisations : 1. DESCRIBE nom de la table pour afficher tous les champs.2.DESCRIBE 表名 字段名Utilisé pour afficher les champs individuellement
DISTINCT Supprimer les données en double peuvent être renvoyées. Il doit s'agir du premier champ de la requête. Il est souvent utilisé pour demander combien de champs uniques il y a dans une. certaines données.Par exemple, lorsqu'il y a plusieurs opérations en même temps, cette instruction sera exécutée en premierSELECT COUNT(DISTINCT name) FROM user
DISTINCTROW 用于联表查询的去重,可以查询出主表中关联的附表数据而不包含那些与查询出的主表不相关的数据,如SELECT DISTINCTROW user.id ,untitled.friend_name FROM user INNER JOIN untitled ON user.id = untitled.friend_id WHERE user.id = '1';可以查询出用户id与相关联的untitled表中的好友名称,不包含没有查询的用户的的好友
DROP 主要用于删除结构,如删除数据库:DROP DATABASE 数据库名,删除表:DROP TABLE 表名,删除字段:ALTER TABLE 表名 DROP 字段名
DUAL 虚拟表在mysql5.1以上版本会有,感觉在ORACLE中才有用,因为在ORACLE中使用查询必须要有FROM 表名,而在mysql中没有表名不会报错,如在mysql中SELECT 1+1 不会有问题但是在ORACLE中会报错,这时要用SELECT 1+1 FROM DUAL,官方声明:DUAL完全是为了方便那些要求所有SELECT语句都应该有FROM或other子句的人
EXISTS 用于在WHERE后的判断操作,其返回结果是一个布尔值,使用方式是将现有行代入内查询检验,如果内查询中返回一行或是多行数据,则输出本行数据,反之内查询没有数据则不输出本行数据,如:SELECT * FROM user u WHERE EXISTS(SELECT * FROM untitled n WHERE n.friend_id=u.id)返回的是在untitled表中friend字段可以与user表中的id相关联的数据,也可以在EXISTS关键字前加NOT 返回的就是不关联的数据了
EXPLAIN 用查看一个sql的执行,有没有加入索引或是有没有做全表扫描等,使用方式:在SELECT前加上,如EXPLAIN SELECT * FROM user
FULLTEXT 全文索引,用于优化查询速度,可以在创建表时加入FULLTEXT(字段1, 字段2),也可以在创建表之后单独加入ALTER TABLE 表名 ADD FULLTEXT INDEX 索引名 (字段名)需要注意的是添加索引是,表引擎要使用MyISAM不然会报错The used table type doesn't support FULLTEXT indexes
GRANT 用于用户权限操作,可以授权给用户权限或是删除用户权限,操作方式有很多如:CREATE USER 'testUser'@'host' IDENTIFIED BY '123456';用于创建用户,show grants for 'testUser'@'host';查看用户权限等操作
GROUP 用于分组操作,GROUP BY 字段名 分组操作后要查询的字段必须要在GROUP BY之后添加不然会报错,比较经典的用法如:SELECT friend_name , COUNT(friend_name) FROM untitled GROUP BY friend_name查询某一类型的数据条数
HAVING 用于在聚合后对数据进行筛选,与WHERE的区别在于,WHERE是在聚合前筛选数据的无法使用聚合函数如COUNT,SUM等,HAVING是在聚合后进行筛选的可以使用聚合函数,例如:SELECT friend_name , COUNT(friend_name) FROM untitled GROUP BY friend_name HAVING COUNT(friend_name) >1查询的便是friend_name数量大于一的数据条数
HIGH_PRIORITY 用于SELECT和INSERT语句,声明此操作为高优先级操作,数据库会先执行此类操作,如:SELECT HIGH_PRIORITY * FROM user
IGNORE est souvent utilisé pour ignorer les données d'erreur lors de l'insertion par lots, telles que : INSERT IGNORE INTO user (id,name,age) values(6,'pangqi',25);If the L'identifiant de clé primaire existe déjà. Aucune erreur ne sera signalée, mais la prochaine opération d'insertion sera exécutée. INSERT IGNORE INTO user (id,name,age) values(6,'pangqi',25);如果主键id已存在则不会报错,而是执行下一段插入操作
INNER 用于内连接查询,设定ON条件之后会将符合条件的数据全部展示出来,与左连接,右连接的区别在于:INNER没有侧重点,mysql会将符合条件的所有数据都查出来,所以使用时要小心不要出现出现笛卡尔积,另外由于INNER是mysql默认的连接方式,所以可以省略INNER关键字如:SELECT * FROM user JOIN untitled ON user.id = untitled.friend_id
INTERVAL 主要用于时间间隔,如:SELECT * FROM USER where create_time < NOW()-INTERVAL 4 DAY返回的是创建时间在四天前的数据,也可以将DAY替换为小时,分钟,年月等,还可以用来比较数据如:SELECT INTERVAL(6,1,2,3,4,7,8,9,10)会返回4,因为在比较时mysql会用索引为0的数据来比较接下来的数据,当接下来的数据大于索引为0的数据时,mysql会返回上一个数据的索引
ISmysql中的IS关键字仅用在 IS NULL或是IS NOT NULL中 如:SELECT * FROM USER where update_time IS NULL
JOIN用于连接两张表,连接方式大致有内连接INNER JOIN,右连接RIGHT JOIN,左连接LEFT JOIN
KEYKEY是数据库的物理结构,有两层意义和作用:1:约束,2:索引,如主键的声明PRIMARY KEY (id),,既会有唯一约束,又会自动添加索引
KILL用于终止mysql中的线程,可以使用SHOW PROCESSLIST查看现在正在进行的线程,使用KILL 线程id终止线程,有两个修改符1:CONNECTION 默认的修改符可以终止所有与该线程id有关的连接,2:QUERY 终止现在执行的语句,但不会终止连接
LABEL语句标签
LEAVELeave语句表明退出指定标签的流程控制语句块,通常会用在begin…end,以及loop, repeat, while的循环语句中,就好像编程中的break一样,使用方式LEAVE 循环名;
🎜🎜🎜INTERVAL🎜🎜 est principalement utilisé pour les intervalles de temps, tels que : < code>SELECT * FROM USER où create_time renvoie les données créées il y a quatre jours. Vous pouvez également remplacer DAY par des heures, des minutes, des années, des mois, etc. comparer des données telles que : SELECT INTERVAL(6,1,2 ,3,4,7,8,9,10) renverra 4, car lors de la comparaison, mysql utilisera les données d'index 0 pour comparez les données suivantes. Lorsque les données suivantes sont supérieures aux données d'index 0, data, mysql renverra l'index des données précédentes🎜🎜🎜🎜IS🎜🎜Le mot-clé IS dans mysql n'est utilisé que dans IS NULL. ou IS NOT NULL, tel que : SELECT * FROM USER où update_time IS NULL🎜🎜🎜🎜JOIN🎜🎜 est utilisé pour connecter deux tables. les méthodes incluent généralement la jointure interne INNER JOIN et la jointure à droite RIGHT JOIN, la jointure à gauche LEFT JOIN🎜🎜🎜🎜KEY🎜🎜KEY est la structure physique de la base de données, qui a deux niveaux de signification et de fonction : 1 : Contraintes, 2 : Index, tel que la clé primaire. L'instruction PRIMARY KEY (id), aura non seulement des contraintes uniques, mais aussi automatiquement ajouter des index. 🎜🎜🎜🎜KILL🎜🎜 est utilisé pour terminer les threads dans MySQL. Vous pouvez utiliser SHOW PROCESSLIST< /code>Afficher le thread actuellement en cours, utiliser <code>KILL thread id pour terminer. le thread, il y a deux modificateurs 1 : CONNECTION Le modificateur par défaut peut mettre fin à toutes les connexions liées à l'identifiant du thread, 2 : QUERY Termine l'instruction en cours d'exécution, mais ne met pas fin à la connexion🎜🎜🎜🎜LABEL🎜🎜Étiquette d'instruction🎜🎜🎜 🎜LEAVE🎜🎜L'instruction Leave indique la sortie du bloc d'instructions de contrôle de flux de l'étiquette spécifiée, généralement utilisée dans le début... la fin et la boucle. Dans l'instruction de boucle de répétition et de temps, c'est comme une pause dans la programmation. La méthode est LEAVE loop name;🎜🎜🎜🎜LEFT🎜🎜LEFT() La fonction est une fonction de chaîne qui renvoie la longueur spécifiée de la partie gauche de la chaîne.Par exemple : SELECT LEFT(name,3) FROM user
LIKE用于模糊搜索,可以搭配%与_共同使用,%代表查询一个或多个通配符,而_代表一个字符,如:SELECT * FROM user WHERE name LIKE &#39;%i&#39;可以查询到所有name中以i结尾的数据,将%换成_之后,查询条件就变成了查询name中以i结尾并且前面只有一个字符的数据
LIMIT用于分页查询,如:SELECT * FROM user LIMIT 4,5 其中第一个参数为起始条数 如上例就是从第4条数据开始返回,第二个参数为偏移量如上例所示参数为5则表示返回从第4条的后5条数据,之前偏移量可以为-1代表查询起始条数后的所有数据,但是这个写法被mysql官方认定为一种错误,所以较新版的mysql都不能用了,最好的办法就是给一个比较大的数字
LOCALTIME当地时间,可用做查询结果字段,where条件,插入时的当前时间,更新时的时间等等,mysql有多种时间函数,可根据需要选择不同的函数使用,例:SELECT LOCALTIME,NOW(),sysdate(), localtimestamp, localtimestamp();
LOCK锁表与解锁 MySQL使客户端会话可以显式获取表锁,以便与其他会话协作访问表,或者防止其他会话在会话需要互斥访问时修改表。会话只能为其自身获取或释放锁。一个会话无法获取另一会话的锁,也不能释放另一会话持有的锁。例:LOCK table user read local此时会产生一个锁表操作,所有执行修改表的操作将会被拒绝并提示:Table &#39;user&#39; was locked with a READ lock and can&#39;t be updated,可以使用unlock tables;关键字解锁
LOW_PRIORITY低优先级,MySQL允许你改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。一般用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE语句中,例:update LOW_PRIORITY user set username = &#39;zhangsan&#39;Dans ce cas, si le deuxième lecteur arrive alors que le rédacteur attend, le deuxième lecteur est autorisé à insérer avant le rédacteur. Les écrivains ne sont autorisés à démarrer des opérations que lorsqu'il n'y a pas d'autres lecteurs.
MODFonction de reste, telle que : select mod(12,5)返回余数2
NATURAL自然连接,是JOIN 的一种,特点是将表中具有相同名称的字段自动进行记录匹配,而这些同名字段类型可以不同,所以表中字段的类型可以不同,可以应用在INNER ,LEFT 等JOIN中,例:select * from user NATURAL LEFT JOIN user2 在这里user与user2的区别是除了id之外user2字段后会加上1,这将导致连接时自动使用id进行关联,结果也确实如此
OPTIMIZE作用:优化整理整理表的碎片及索引,在数据库存储数据时数据库会分配表空间,及索引给该数据当数据删除后数据库并不会收回这些资源而是等待新的数据填补这些空缺,使用OPTIMIZE关键字可以主动清除这些被占用的资源,用法:optimize table 表名称
RANGE分区:基于一个给定的区间范围,要求给定区间中这个字段的值是连续的,当执行操作时会走相应的分区,可以极大的提升效率,要求是如果该表有主键的话作为分区字段也应该在主键的行列,用法:建表语句+PARTITION BY RANGE (xuehao) (PARTITION p0 VALUES LESS THAN (6),PARTITION p1 VALUES LESS THAN (11),PARTITION p2 VALUES LESS THAN (16), PARTITION p3 VALUES LESS THAN (21));
REFERENCES建立外键关系,在建表语句中:FOREIGN KEY(uid) REFERENCES users(id)select mod(12,5)Renvoie le reste 2
NATURALLa jointure naturelle est une sorte de JOIN, qui se caractérise par la combinaison de la table avec Les champs portant le même nom correspondent automatiquement aux enregistrements, et les types de ces champs portant le même nom peuvent être différents, de sorte que les types de champs dans la table peuvent être différents, ce qui peut être appliqué dans INNER, LEFT et d'autres JOIN, par exemple : select * from user NATURAL LEFT JOIN user2</code > La différence entre user et user2 ici est qu'en plus de l'identifiant, 1 sera ajouté après le champ user2, ce qui entraînera l'utilisation automatique de l'identifiant pour association lors de la connexion. Le résultat est en effet le même🎜🎜🎜🎜OPTIMISE🎜🎜Fonction : Optimiser et organiser la table Fragments et index Lorsque la base de données stocke les données, la base de données allouera de l'espace table et un index aux données. est supprimé, la base de données ne récupérera pas ces ressources mais attendra que de nouvelles données comblent ces lacunes. Utilisez le mot-clé OPTIMIZE pour effacer activement ces ressources occupées, en utilisant : 🎜optimiser le nom de la table🎜🎜🎜🎜RANGE🎜. 🎜Partition : en fonction d'une plage d'intervalles donnée, la valeur de ce champ dans l'intervalle donné doit être continue lorsque l'opération est effectuée, le partitionnement correspondant peut améliorer considérablement l'efficacité. L'exigence est que si la table a un principal. clé, le champ de partitionnement doit également être dans la ligne de la clé primaire. Utilisation : instruction de création de table + PARTITION BY RANGE (xuehao) (PARTITION p0 VALUES LESS THAN (6), PARTITION p1 VALUES LESS THAN (11), PARTITION p2 VALUES. LESS THAN (16), PARTITION p3 VALUES LESS THAN (21));🎜🎜🎜🎜REFERENCES🎜🎜Établissez une relation de clé étrangère, dans l'instruction de création de table : 🎜FOREIGN KEY(uid) REFERENCES users(id) signifie que l'uid du champ sera connecté à l'identifiant du champ de clé primaire de la table utilisateur🎜🎜🎜🎜REGEXP🎜🎜expression régulière, vous pouvez utiliser des expressions régulières dans les conditions de fonctionnement, utilisez 🎜SELECT * FROM user WHERE email NOT REGEXP'^ [A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'
RENAMEPour modifier le nom de la table, utilisez : renommer la table user2 en user3;<code>rename table user2 to user3;
REPEAT将给定数据当做字符串复制指定次数如:select REPEAT(3,3)得出的结果为“333”
REPLACE替换所有的指定字符串,如:select REPLACE(&#39;这是一个字符串,或者是一个字符&#39;,&#39;一个&#39;,&#39;两个&#39;);
REVOKE撤销已经赋予给 MySQL 用户权限,如:revoke all on *.* from testUser@host;记得完成后刷新用户权限表FLUSH PRIVILEGES;
RIGHT对字符串进行截位操作,如:select RIGHT(&#39;这是一个字符串&#39;,5),会倒序截取指定位数的字符串
RLIKE模糊查询,与like不同的时,rlike的内容可以是正则,且可以不完全匹配,如:select * from user where email RLIKE &#39;^www.*$&#39;;
SEPARATOR可将查询结果用字符串连接变为一行,SEPARATOR指定连接符,需配合GROUP BY使用,如:SELECT *, GROUP_CONCAT(username order by username separator &#39;;&#39;) SCORE FROM user GROUP BY email RLIKE &#39;^www.*$&#39;
USING连接查询时如果是字段名相同则可以作为连接条件,using可以代替on出现如:select * from user left join students USING(quanxian)
WHILE循环语句关键词,用在存储过程中,需结合流程控制语句来使用,如:CREATE PROCEDURE fun() BEGIN SET @sum:=10; WHILE @sum > 0 DO SELECT @sum; SET @sum:=@sum-1; END WHILE; END CALL fun(); DROP PROCEDURE fun


XOR 表示逻辑异或,当任意一个操作数为NULL时,返回值为NULL,对于非NULL的操作数,如果两个的逻辑真假值相异,则返回结果为1,否则为0,如:select true XOR null;select true XOR true;select true XOR false;
ZEROFILL 当创建表时数值类型加上这个关键字后,如果插入数字位数不足则自动填充相应的位数,如:CREATE TABLE student3 ( id int(11) unsigned zerofill not null, xuehao int(50) NOT NULL );insert into student3 value(1,2); select * from student3;
REPEAT

Copiez les données données sous forme de chaîne un nombre de fois spécifié, par exemple : select REPEAT (3,3)Le résultat est "333"

🎜🎜REPLACE🎜🎜Remplacez toutes les chaînes spécifiées, telles que : select REPLACE('Ceci est une chaîne ou un caractère', 'one','two');🎜🎜🎜🎜🎜REVOKE🎜🎜Révoquer les autorisations qui ont été accordées aux utilisateurs MySQL, telles que : <code>revoke all on *.* from testUser@host ;🎜N'oubliez pas d'actualiser le table des autorisations utilisateur une fois terminéeFLUSH PRIVILEGES;🎜🎜🎜🎜🎜RIGHT🎜🎜Effectuez une opération de troncature sur la chaîne, telle que : <code>select RIGHT('This is a string',5)🎜, qui interceptera le nombre spécifié de chiffres dans la chaîne dans l'ordre inverse 🎜🎜🎜🎜RLIKE🎜🎜Requête floue, lorsqu'il est différent de like, le contenu de rlike peut être régulier et peut ne pas correspondre exactement, comme : <code>select * from user which email RLIKE '^www.*$';🎜 🎜🎜🎜🎜SEPARATOR🎜🎜 peut concaténer les résultats de la requête en une seule ligne avec des chaînes SEPARATOR spécifie le connecteur et doit être utilisé avec GROUP BY, tel que : <code>SELECT *, GROUP_CONCAT (ordre des noms d'utilisateur par séparateur de nom d'utilisateur ';') SCORE FROM user GROUP BY email RLIKE '^www.*$'🎜🎜🎜🎜🎜USING🎜🎜Si les noms de champs sont les mêmes lors de la requête de connexion, ils peuvent être utilisés comme connexion les conditions using peuvent apparaître à la place de on, telles que : <code>select * from user left join student USING(quanxian)🎜🎜🎜🎜🎜WHILE🎜🎜Le mot-clé de l'instruction Loop, utilisé dans les procédures stockées, doit être utilisé conjointement avec instructions de contrôle de flux, telles que : <code>CREATE PROCEDURE fun() BEGIN SET @sum:=10 ; WHILE @sum > 0 DO SELECT @sum:=@sum-1; (); DROP PROCEDURE fun🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 Représente un OU exclusif logique Lorsqu'un opérande est NULL, la valeur de retour est NULL Pour les opérandes non NULL, si les deux valeurs logiques vraies et fausses. ​​sont différents, le résultat de retour est 1, sinon il est 0, tel que : <code>select true XOR null;select true XOR true;select true Number, tel que : <code>CREATE TABLE student3 (id int(11 ) unsigned zerofill not null, xuehao int(50) NOT NULL);insert into student3 value(1,2); select * from student3;🎜🎜🎜🎜🎜 🎜【Recommandation associée : 🎜tutoriel vidéo mysql🎜】🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn