MySQL 速查表
MySQL速查表为您提供了一页,其中包含最常用的MySQL命令和语句,可帮助您更有效地使用MySQL。
MySQL命令行客户端命令
使用具有用户名和密码的mysql命令行客户端连接到MySQL服务器(MySQL将提示输入密码):
mysql -u [username] -p;
使用用户名和密码使用指定的数据库连接到MySQL Server:
mysql -u [username] -p [database];
退出mysql命令行客户端:
exit;
使用mysqldump工具导出数据
mysqldump -u [username] -p [database] > data_backup.sql;
要在Linux上清除MySQL屏幕控制台窗口,请使用以下命令:
mysql> system clear;
当前,Windows操作系统上没有可用的命令来清除MySQL屏幕控制台窗口。
使用数据库
如果数据库服务器中不存在指定名称的数据库
CREATE DATABASE [IF NOT EXISTS] database_name;
使用数据库或将当前数据库更改为正在使用的另一个数据库:
USE database_name;
永久删除具有指定名称的数据库。
与数据库关联的所有物理文件将被删除。
DROP DATABASE [IF EXISTS] database_name;
显示当前MySQL数据库服务器中的所有可用数据库
SHOW DATABASE;
使用表格
显示当前数据库中的所有表。
SHOW TABLES;
创建一个新表
CREATE TABLE [IF NOT EXISTS] table_name( column_list );
在表中添加新列:
ALTER TABLE table ADD [COLUMN] column_name;
从表中删除一列:
ALTER TABLE table_name DROP [COLUMN] column_name;
将具有特定名称的索引添加到列上的表:
ALTER TABLE table ADD INDEX [name](column, ...);
将主键添加到表中:
ALTER TABLE table_name ADD PRIMARY KEY (column_name,...);
删除表的主键:
ALTER TABLE table_name DROP PRIMARY KEY;
放一张桌子:
DROP TABLE [IF EXISTS] table_name;
显示表的列:
DESCRIBE table_name;
显示表中一列的信息:
DESCRIBE table_name column_name;
使用索引
在表上创建具有指定名称的索引:
CREATE INDEX index_name ON table_name (column,...);
删除索引:
DROP INDEX index_name;
创建一个唯一索引:
CREATE UNIQUE INDEX index_name ON table_name (column,...);
使用视图
创建一个新视图:
CREATE VIEW [IF NOT EXISTS] view_name AS select_statement;
使用WITH CHECK OPTION创建一个新视图:
CREATE VIEW [IF NOT EXISTS] view_name AS select_statement WITH CHECK OPTION;
创建或替换视图:
CREATE OR REPLACE view_name AS select_statement;
删除视图:
DROP VIEW [IF EXISTS] view_name;
删除多个视图:
DROP VIEW [IF EXISTS] view1, view2, ...;
重命名视图:
RENAME TABLE view_name TO new_view_name;
显示来自数据库的视图:
SHOW FULL TABLES [{FROM | IN } database_name] WHERE table_type = 'VIEW';
使用触发器
创建一个新触发器:
CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE| DELETE } ON table_name FOR EACH ROW trigger_body;
删除触发器:
DROP TRIGGER [IF EXISTS] trigger_name;
在数据库中显示触发器:
SHOW TRIGGERS [{FROM | IN} database_name] [LIKE 'pattern' | WHERE search_condition];
使用存储过程
创建一个存储过程:
DELIMITER $$ CREATE PROCEDURE procedure_name(parameter_list) BEGIN body; END $$ DELIMITER ;
删除存储过程:
DROP PROCEDURE [IF EXISTS] procedure_name;
显示存储过程:
SHOW PROCEDURE STATUS [LIKE 'pattern' | WHERE search_condition];
使用存储的功能
创建一个新的存储函数:
DELIMITER $$ CREATE FUNCTION function_name(parameter_list) RETURNS datatype [NOT] DETERMINISTIC BEGIN -- statements END $$ DELIMITER ;
删除存储的函数:
DROP FUNCTION [IF EXISTS] function_name;
显示存储的功能:
SHOW FUNCTION STATUS [LIKE 'pattern' | WHERE search_condition];
从表中查询数据
查询表中的所有数据:
SELECT * FROM table_name;
从表的一个或多个列中查询数据:
SELECT column1, column2, ... FROM table_name;
从查询结果中删除重复的行:
SELECT DISTINCT (column) FROM table_name;
使用WHERE子句使用过滤器查询数据:
SELECT select_list FROM table_name WHERE condition;
使用列别名更改列名称的输出:
SELECT column1 AS alias_name, expression AS alias, ... FROM table_name;
使用内部联接从多个表中查询数据:
SELECT select_list FROM table1 INNER JOIN table2 ON condition;
使用左联接从多个表查询数据:
SELECT select_list FROM table1 LEFT JOIN table2 ON condition;
使用右联接从多个表中查询数据:
SELECT select_list FROM table1 RIGHT JOIN table2 ON condition;
计算行的笛卡尔积:
SELECT select_list FROM table1 CROSS JOIN table2;
计数表中的行。
SELECT COUNT(*) FROM table_name;
排序结果集:
SELECT select_list FROM table_name ORDER BY column1 ASC [DESC], column2 ASC [DESC];
使用GROUP BY子句对行进行分组。
SELECT select_list FROM table_name GROUP BY column_1, column_2, ...;
使用HAVING子句的过滤器组:
SELECT select_list FROM table_name GROUP BY column1 HAVING condition;
修改表格中的数据
在表中插入新行:
INSERT INTO table_name(column_list) VALUES(value_list);
在表中插入多行:
INSERT INTO table_name(column_list) VALUES(value_list1), (value_list2), (value_list3), ...;
更新表中的所有行:
UPDATE table_name SET column1 = value1, ...;
更新由WHERE子句中的条件指定的一组行的数据。
UPDATE table_name SET column_1 = value_1, ... WHERE condition
使用join更新多个表
UPDATE table1, table2 INNER JOIN table1 ON table1.column1 = table2.column2 SET column1 = value1, WHERE condition;
删除表中的所有行
DELETE FROM table_name;
删除条件指定的行:
DELETE FROM table_name WHERE condition;
使用join删除多表
DELETE table1, table2 FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2 WHERE condition;
查找
使用LIKE运算符搜索数据:
SELECT select_list FROM table_name WHERE column LIKE '%pattern%';
使用带有RLIKE运算符的正则表达式进行文本搜索。
SELECT select_list FROM table_name WHERE column RLIKE 'regular_expression';