新睿云

> 知识库 > mysql命令大全(含使用示例)

mysql命令大全(含使用示例)

作者/来源:新睿云小编 发布时间:2019-11-01

大型数据库例如Oracle,IBM DB2,MS SQL等引用,MySQL自有它的不足之处,如规模小,功能有限等,但是这丝丝也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业而言,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码,因此可以大大降低整体成本。

mysql命令

访问监视器:(mysql -u [username] -p;将提示输入密码)

显示所有数据库:show databases;

访问数据库:(mysql -u [username] -p [database]将提示输入密码)

创建新的数据库:create database [database];

选择数据库:use [database];

确定正在使用的数据库:select database();

显示所有表格:show tables;

显示表结构:describe [table];

列出表上的所有索引:show index from [table];

用列创建新表:CREATE TABLE [table] ([column] VARCHAR(120), [another-column] DATETIME);

添加一列:ALTER TABLE [table] ADD COLUMN [column] VARCHAR(120);

添加具有唯一的自动递增ID的列:ALTER TABLE [table] ADD COLUMN [column] int NOT NULL AUTO_INCREMENT PRIMARY KEY;

插入记录:INSERT INTO [table] ([column], [column]) VALUES ('[value]', [value]');

用于日期时间输入的MySQL函数:NOW()

选择记录:SELECT * FROM [table];

说明记录:EXPLAIN SELECT * FROM [table];

选择部分记录:SELECT [column], [another-column] FROM [table];

计数记录:SELECT COUNT([column]) FROM [table];

计算和选择分组记录:SELECT *, (SELECT COUNT([column]) FROM [table]) AS count FROM [table] GROUP BY [column];

选择特定的记录:SELECT * FROM [table] WHERE [column] = [value];(选择器:<,>,!=,结合多种选择有AND,OR)

选择包含[value]以下内容的记录:SELECT * FROM [table] WHERE [column] LIKE '%[value]%';

选择以开头的记录[value]:SELECT * FROM [table] WHERE [column] LIKE '[value]%';

选择以以下内容开头val和结尾的记录ue:SELECT * FROM [table] WHERE [column] LIKE '[val_ue]';

选择范围:SELECT * FROM [table] WHERE [column] BETWEEN [value1] and [value2];

与客户订单和唯一的限制选择:SELECT * FROM [table] WHERE [column] ORDER BY [column] ASC LIMIT [value];(订购:DESC,ASC)

更新记录:UPDATE [table] SET [column] = '[updated-value]' WHERE [column] = [value];

删除记录:DELETE FROM [table] WHERE [column] = [value];

删除表中的所有记录(不删除表本身):(DELETE FROM [table];这还会为自动生成的列(如id列)重置递增计数器。)

删除表中的所有记录:truncate table [table];

删除表列:ALTER TABLE [table] DROP COLUMN [column];

删除表:DROP TABLE [table];

删除数据库:DROP DATABASE [database];

自定义列输出名称:SELECT [column] AS [custom-column] FROM [table];

导出数据库转储:mysqldump -u [username] -p [database] > db_backup.sql

使用--lock-tables=false锁定表的选项。

导入数据库转储:mysql -u [username] -p -h localhost [database] < db_backup.sql

退出:exit;

汇总功能

选择但不重复:SELECT distinct name, email, acception FROM owners WHERE acception = 1 AND date >= 2015-01-01 00:00:00

计算记录总数:SELECT SUM([column]) FROM [table];

计算总数[column]和分组依据[category-column]:SELECT [category-column], SUM([column]) FROM [table] GROUP BY [category-column];

获得最大的价值[column]:SELECT MAX([column]) FROM [table];

获得最小值:SELECT MIN([column]) FROM [table];

获取平均值:SELECT AVG([column]) FROM [table];

获取四舍五入的平均值并按以下项分组[category-column]:SELECT [category-column], ROUND(AVG([column]), 2) FROM [table] GROUP BY [category-column];

多个表

从多个表中选择:SELECT [table1].[column], [table1].[another-column], [table2].[column] FROM [table1], [table2];

合并来自不同表的行:SELECT * FROM [table1] INNER JOIN [table2] ON [table1].[column] = [table2].[column];

从不同的表合并行,但不需要连接条件:SELECT * FROM [table1] LEFT OUTER JOIN [table2] ON [table1].[column] = [table2].[column];(左表是出现在语句中的第一个表。)

使用别名重命名列或表:SELECT [table1].[column] AS '[value]', [table2].[column] AS '[value]' FROM [table1], [table2];

用户功能

列出所有用户:SELECT User,Host FROM mysql.user;

创建新用户:CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

ALL向用户授予*表访问权限:GRANT ALL ON database.* TO 'user'@'localhost';

热门标签
免费领云产品

免费用

立即领取
联系客服
在线客服   
反馈意见
返回顶部
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待