以下是 MySQL 5.7 中57个关键字的用法举例:
ALTER TABLE table_name ADD new_column INT(11) NOT NULL;
SELECT ALL column_name FROM table_name;
ALTER TABLE table_name MODIFY old_column VARCHAR(100);
ANALYZE TABLE table_name;
SELECT * FROM table_name WHERE column_name1 < 100 AND column_name2 = 'some_value';
SELECT column_name1 AS some_alias, column_name2 AS another_alias FROM table_name;
SELECT * FROM table_name ORDER BY column_name ASC;
SELECT * FROM table_name WHERE UPPER(column_name) = 'SOME_VALUE' COLLATE utf8_general_ci;
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN ... END;
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 200;
CREATE TABLE table_name (column_name BIGINT);
CREATE TABLE table_name (column_name BINARY(100));
CREATE TABLE table_name (column_name BLOB);
SELECT * FROM table_name WHERE column_name1 > 100 AND column_name2 < 200;
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
CALL procedure_name();
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table(referenced_column) ON DELETE CASCADE;
SELECT column_name, CASE WHEN column_name1 > 100 THEN 'large' ELSE 'small' END AS size FROM table_name;
ALTER TABLE table_name CHANGE old_column new_column VARCHAR(100) DEFAULT 'some_value' NOT NULL;
CREATE TABLE table_name (column_name CHAR(100));
CREATE TABLE table_name (column_name CHARACTER(10));
CREATE TABLE table_name (column_name INT(11) CHECK(column_name > 0));
SELECT * FROM table_name WHERE column_name LIKE '%some_value%' COLLATE utf8_general_ci;
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100) DEFAULT 'some_value');
DECLARE condition_name CONDITION FOR SQLSTATE '42000';
CREATE TABLE table_name (column_name INT(11), CONSTRAINT constraint_name PRIMARY KEY (column_name));
WHILE condition DO IF some_condition THEN CONTINUE; END IF; END WHILE;
SELECT CONVERT(column_name, UNSIGNED) FROM table_name;
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100));
SELECT * FROM table_name1 CROSS JOIN table_name2;
SELECT CURRENT_DATE();
SELECT CURRENT_TIME();
SELECT CURRENT_TIMESTAMP();
SELECT CURRENT_USER();
DECLARE cursor_name CURSOR FOR SELECT column_name FROM table_name;
USE database_name;
SHOW DATABASES;
SELECT DATE_FORMAT(date_time, '%d:%H') FROM table_name;
SELECT DATE_FORMAT(date_time, '%d:%f') FROM table_name;
SELECT DATE_FORMAT(date_time, '%d:%i') FROM table_name;
SELECT DATE_FORMAT(date_time, '%d:%s') FROM table_name;
CREATE TABLE table_name (column_name DECIMAL(10, 2));
CREATE TABLE table_name (column_name DECIMAL(10, 2));
DECLARE variable_name INT(11);
CREATE TABLE table_name (column_name VARCHAR(100) DEFAULT 'some_value');
INSERT DELAYED INTO table_name VALUES (...);
DELETE FROM table_name WHERE some_condition;
SELECT * FROM table_name ORDER BY column_name DESC;
DESCRIBE table_name;
CREATE FUNCTION function_name(...) RETURNS INT(11) DETERMINISTIC BEGIN ... END;
SELECT DISTINCT column_name FROM table_name;
SELECT DISTINCTROW column_name1, column_name2 FROM table_name;
SELECT 9 DIV 4;
CREATE TABLE table_name (column_name DOUBLE);
DROP TABLE IF EXISTS table_name;
SELECT 1 + 2 FROM dual;
LOOP label_name: EACH row_variable IN cursor_name DO ... END LOOP;
好的,以下是 MySQL 5.7 中57个关键字的用法举例的续集:
IF some_condition THEN SELECT 'yes'; ELSE SELECT 'no'; END IF;
IF some_condition THEN SELECT 'yes'; ELSEIF another_condition THEN SELECT 'maybe'; ELSE SELECT 'no'; END IF;
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"';
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\';
SELECT column_name FROM table_name WHERE EXISTS(SELECT * FROM another_table WHERE column_name1 = table_name.column_name2);
WHILE some_condition DO IF another_condition THEN LEAVE label_name; END IF; END WHILE;
IF 0 = 1 THEN SELECT 'true'; ELSE SELECT 'false'; END IF;
FETCH cursor_name INTO variable1, variable2, ...;
CREATE TABLE table_name (column_name FLOAT);
FOR i IN 1..10 LOOP SELECT i; END LOOP;
SELECT * FROM table_name FORCE INDEX(index_name);
CREATE TABLE table_name1 (column_name INT(11), FOREIGN KEY (column_name) REFERENCES table_name2(column_name));
SELECT column_name1, column_name2 FROM table_name1, table_name2 WHERE table_name1.column_name = table_name2.column_name;
CREATE TABLE table_name (column_name TEXT, FULLTEXT(column_name));
GRANT SELECT, INSERT ON database_name.table_name TO 'user_name'@'host_name' IDENTIFIED BY 'password';
SELECT column_name1, COUNT(column_name2) FROM table_name GROUP BY column_name1;
SELECT column_name1, COUNT(column_name2) FROM table_name GROUP BY column_name1 HAVING COUNT(column_name2) > 10;
SELECT HIGH_PRIORITY column_name FROM table_name;
SELECT column_name1, IF(column_name2 > 100, 'large', 'small') AS size FROM table_name;
INSERT IGNORE INTO table_name VALUES (...);
SELECT * FROM table_name WHERE column_name IN (100, 200, 300);
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100), INDEX index_name(column_name1, column_name2));
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
SELECT * FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
CREATE PROCEDURE procedure_name(IN input_parameter INT(11), INOUT output_parameter VARCHAR(100))
BEGIN SET output_parameter = CONCAT('Hello, ', input_parameter); END;
CREATE TABLE table_name (column_name INT(11));
CREATE TABLE table_name (column_name INTEGER);
SELECT DATE_ADD('2022-06-18', INTERVAL 1 MONTH);
SELECT column_name INTO variable_name FROM table_name WHERE some_condition;
SELECT * FROM table_name WHERE column_name IS NULL;
WHILE condition DO IF some_condition THEN ITERATE label_name; END IF; END WHILE;
SELECT * FROM table_name1 JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100), PRIMARY KEY (column_name1));
SHOW KEYS FROM table_name;
KILL process_id;
SELECT * FROM table_name WHERE column_name1 = 100 AND column_name2 = 200 ORDER BY column_name1;
SELECT * FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
SELECT * FROM table_name WHERE column_name LIKE '%some_value%';
SELECT * FROM table_name LIMIT 10 OFFSET 20;
SELECT * FROM table_name FORCE INDEX(index_name) WHERE column_name = 100;
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
LOAD DATA INFILE 'file_name.txt' INTO TABLE table_name;
SELECT LOCALTIME();
SELECT LOCALTIMESTAMP();
LOCK TABLES table_name WRITE;
CREATE TABLE table_name (column_name LONGTEXT);
CREATE TABLE table_name (column_name LONGBLOB);
CREATE TABLE table_name (column_name LONGTEXT);
LOOP SELECT column_name FROM table_name; END LOOP;
INSERT LOW_PRIORITY INTO table_name VALUES (...);
SELECT * FROM table_name WHERE MATCH (column_name) AGAINST ('some_value');
CREATE TABLE table_name (column_name MEDIUMBLOB);
CREATE TABLE table_name (column_name MEDIUMINT(11));
CREATE TABLE table_name (column_name MEDIUMTEXT);
CREATE TABLE table_name (column_name MIDDLEINT(11));
SELECT CAST('12:30.123456' AS TIME(6)) AS result;
SELECT CAST('12:30:45' AS TIME) AS result;
SELECT 10 % 3 AS result;
ALTER TABLE table_name MODIFY column_name VARCHAR(100);
SELECT MONTH('2022-06-18') AS result;
SELECT NOT 0 AS result;
SELECT NULL;
CREATE TABLE table_name (column_name NUMERIC(10,2));
CREATE TABLE table_name1 (column_name INT(11), FOREIGN KEY (column_name) REFERENCES table_name2(column_name) ON DELETE CASCADE);
OPTIMIZE TABLE table_name;
mysql -u user_name -p --default-character-set=utf8mb4
INSERT INTO table_name (column_name1, column_name2) VALUES (100, 'some_value') ON DUPLICATE KEY UPDATE column_name1 = VALUES(column_name1);
SELECT * FROM table_name WHERE column_name1 = 'some_value' OR column_name2 > 10;
SELECT * FROM table_name ORDER BY column_name1 DESC, column_name2 ASC;
CREATE PROCEDURE procedure_name(IN input_parameter INT(11), OUT output_parameter VARCHAR(100))
BEGIN SET output_parameter = CONCAT('Hello, ', input_parameter); END;
SELECT * FROM table_name1 OUTER JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
SELECT * FROM table_name INTO OUTFILE 'file_name.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
SELECT PERIOD_ADD(202206, 3) AS result;
SELECT PERIOD_DIFF(202206, 202203) AS result;
CREATE TABLE table_name (column_name FLOAT(10,2));
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100), PRIMARY KEY (column_name1));
CREATE PROCEDURE procedure_name (input_parameter INT(11), output_parameter VARCHAR(100)) BEGIN SELECT CONCAT('Hello, ', input_parameter) INTO output_parameter; END;
EXPLAIN QUERY PLAN SELECT column_name FROM table_name WHERE column_name = 100;
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 200;
READ LOCK table_name;
CREATE TABLE table_name1 (column_name INT(11), FOREIGN KEY (column_name) REFERENCES table_name2(column_name));
SELECT * FROM table_name WHERE column_name REGEXP '^some[ _]value$';
UNLOCK TABLES;
ALTER TABLE table_name RENAME TO new_table_name;
REPEAT SELECT column_name FROM table_name; UNTIL some_condition END REPEAT;
REPLACE INTO table_name (column_name1, column_name2) VALUES (100, 'some_value');
GRANT SELECT, INSERT ON database_name.table_name TO 'user_name'@'host_name' IDENTIFIED BY 'password' REQUIRE SSL;
CREATE TABLE table_name1 (column_name INT(11), FOREIGN KEY (column_name) REFERENCES table_name2(column_name) ON DELETE RESTRICT);
CREATE FUNCTION function_name (input_parameter INT(11)) RETURNS VARCHAR(100) BEGIN RETURN CONCAT('Hello, ', input_parameter); END;
REVOKE SELECT, INSERT ON database_name.table_name FROM 'user_name'@'host_name';
SELECT * FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
SELECT * FROM table_name WHERE column_name RLIKE '^some[ _]value$';
SELECT * FROM database_name.table_name;
SHOW DATABASES;
SELECT CAST('12:30:45.123456' AS TIME(6)) AS result;
SELECT column_name1, column_name2 FROM table_name WHERE column_name1 = 'some_value' ORDER BY column_name2 DESC LIMIT 10;
SET @variable_name = 'some_value';
UPDATE table_name SET column_name1 = 100 WHERE column_name2 = 'some_value';
SHOW DATABASES;
SHOW CREATE TABLE table_name;
CREATE TABLE table_name (column_name SIGNED);
CREATE TABLE table_name (column_name SMALLINT(6));
CREATE TABLE table_name (column_name GEOMETRY);
SET @sql_statement = CONCAT('SELECT * FROM ', table_name);
PREPARE stmt FROM @sql_statement;
EXECUTE stmt;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT 'An error occurred';
DECLARE EXIT HANDLER FOR SQLSTATE '42S02' SELECT 'Table does not exist';
SELECT SQL_BIG_RESULT column_name FROM table_name WHERE column_name = 'some_value';
SELECT SQL_CALC_FOUND_ROWS column_name1, column_name2 FROM table_name WHERE column_name1 = 'some_value' LIMIT 10;
SELECT FOUND_ROWS();
SELECT SQL_SMALL_RESULT column_name FROM table_name WHERE column_name = 'some_value';
mysql -u user_name -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
SELECT * FROM table_name WHERE column_name LIKE 'some%';
SELECT STRAIGHT_JOIN * FROM table_name1, table_name2 WHERE table_name1.column_name = table_name2.column_name;
SELECT SUBDATE('2022-06-18', INTERVAL 1 DAY) AS result;
SELECT SUBSTR('some_value', 5) AS result;
SELECT SUBSTRING('some_value', 5) AS result;
SELECT SUM(column_name) AS result FROM table_name;
CREATE TABLE table_name (column_name INT(11)) ENGINE=InnoDB CHARSET=utf8mb4;
CREATE TEMPORARY TABLE temp_table_name (column_name INT(11));
SELECT * FROM table_name INTO OUTFILE 'file_name.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
CREATE TABLE table_name (column_name TEXT);
IF some_condition THEN SELECT 'Condition is true'; END IF;
CREATE TABLE table_name (column_name TINYBLOB);
CREATE TABLE table_name (column_name TINYINT(4));
CREATE TABLE table_name (column_name TINYTEXT);
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 200;
SELECT TRIM(TRAILING ' ' FROM 'some_value ') AS result;
CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW SELECT 'New row inserted';
SELECT TRUE;
ROLLBACK;
SELECT column_name1 FROM table_name1 UNION SELECT column_name2 FROM table_name2;
CREATE TABLE table_name (column_name1 INT(11), column_name2 VARCHAR(100), UNIQUE (column_name1));
CREATE TABLE table_name (column_name UNSIGNED);
UPDATE table_name SET column_name1 = 100 WHERE column_name2 = 'some_value';
GRANT USAGE ON database_name.table_name TO 'user_name'@'host_name';
USE database_name;
SELECT USER();
SELECT * FROM table_name1 INNER JOIN table_name2 USING(column_name);
SELECT UTC_DATE() AS result;
SELECT UTC_TIME() AS result;
SELECT UTC_TIMESTAMP() AS result;
INSERT INTO table_name (column_name1, column_name2) VALUES (100, 'some_value');
CREATE TABLE table_name (column_name VARBINARY(100));
CREATE TABLE table_name (column_name VARCHAR(100));
CREATE TABLE table_name (column_name VARCHARACTER(100));
CREATE VIEW view_name AS SELECT * FROM table_name WHERE column_name = 'some_value';
SET @gtids = '1-1-1';
SELECT WAIT_FOR_EXECUTED_GTID_SET(@gtids, 10);
SELECT WEEK('2023-06-18') AS result;
SELECT YEAR('2023-06-18') AS result;
SELECT YEARWEEK('2023-06-18') AS result;
CREATE TABLE table_name (column_name INT(4) ZEROFILL);
SELECT @@GLOBAL.sql_mode AS result;
SELECT @@SESSION.sql_mode AS result;
SELECT @@VERSION AS result;
SELECT column_name1, IFNULL(column_name2, 'N/A') AS result FROM table_name;
INSERT INTO table_name1 (column_name1, column_name2) SELECT column_name1, column_name2 FROM table_name2 WHERE column_name1 = 'some_value';
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
REPLACE INTO table_name (column_name1, column_name2) VALUES (100, 'some_value');
SET GLOBAL max_allowed_packet = 1073741824;
SET SESSION wait_timeout = 3600;
SHOW COLUMNS FROM table_name;
SHOW CREATE DATABASE database_name;
SHOW GRANTS FOR 'user_name'@'host_name'
SHOW INDEXES FROM table_name;
SHOW TABLES FROM database_name;
SELECT SLEEP(10);
SELECT SUBSTRING_INDEX('some_value', '_', 1) AS result;
TRUNCATE TABLE table_name;
SELECT UNIX_TIMESTAMP('2023-06-18 06:26:08') AS result;
SELECT UUID() AS result;
INSERT INTO table_name VALUES ROW(100, 'some_value');
WHILE some_condition DO
SELECT 'Condition is true';
END WHILE;
SELECT column_name1, SUM(column_name2) FROM table_name GROUP BY column_name1 WITH ROLLUP;