开始使用MySQL

Download mysql eBook

备注

MySQL徽标

MySQL是一个开源的关系数据库管理系统(RDBMS),由Oracle Corporation开发和支持。

MySQL在大量平台上受支持 ,包括Linux变体,OS X和Windows。它还具有适用于大量语言的API ,包括C,C ++,Java,Lua,.Net,Perl,PHP,Python和Ruby。

MariaDB是MySQL的一个分支,具有稍微不同的功能集 。对于大多数应用程序,它完全兼容MySQL。

版本

发布日期
1.0 1995-05-23
3.19 1996-12-01
3.20 1997-01-01
3.21 1998-10-01
3.22 1999-10-01
3.23 2001年1月22日
4 2003-03-01
4.1 2004-10-01
5 2005-10-01
5.1 2008-11-27
5.5 2010-11-01
5.6 2013年2月1日
5.7 2015年10月1日

入门

在MySQL中创建数据库

CREATE DATABASE mydb;
 

返回值:

查询OK,1行受影响(0.05秒)


使用创建的数据库 mydb

CREATE DATABASE mydb;
 

返回值:

数据库已更改

在MySQL中创建一个表

CREATE DATABASE mydb;
 

CREATE TABLE mytable 将创建一个名为mytable 的新表。

id int unsigned NOT NULL auto_increment 创建id 列,这种类型的字段将为表中的每条记录分配一个唯一的数字ID(意味着在这种情况下没有两行可以具有相同的id ),MySQL将自动分配一个新的,记录的id 字段的唯一值(从1开始)。

返回值:

查询OK,0行受影响(0.10秒)


将行插入MySQL表

CREATE DATABASE mydb;
 

示例返回值:

查询正常,1行受影响(0.06秒)

varchar aka strings 也可以使用单引号插入:

CREATE DATABASE mydb;
 

将行更新为MySQL表

CREATE DATABASE mydb;
 

示例返回值:

查询正常,1行受影响(0.06秒)

可以在没有引号的查询中插入int 值。字符串和日期必须用单引号' 或双引号"


将行删除到MySQL表中

CREATE DATABASE mydb;
 

示例返回值:

查询正常,1行受影响(0.06秒)

这将删除id 为8的行。


根据MySQL中的条件选择行

CREATE DATABASE mydb;
 

返回值:

CREATE DATABASE mydb;
 

1排(0.00秒)


显示现有数据库的列表

CREATE DATABASE mydb;
 

返回值:

CREATE DATABASE mydb;
 

2行(0.00秒)

您可以将“information_schema”视为提供对数据库元数据的访问的“主数据库”。


在现有数据库中显示表

CREATE DATABASE mydb;
 

返回值:

CREATE DATABASE mydb;
 

1排(0.00秒)


显示表格的所有字段

CREATE DATABASE mydb;
 

或者,如果已经使用数据库:

CREATE DATABASE mydb;
 

返回值:

CREATE DATABASE mydb;
 

Extra 可能包含auto_increment 等。

Key 指的是可能影响该字段的键的类型。主要(PRI),独特(UNI)......

n行(0.00秒)

其中n是表中字段的数量。


创建用户

首先,您需要创建一个用户,然后授予用户对某些数据库/表的权限。在创建用户时,您还需要指定此用户可以从哪里连接。

CREATE DATABASE mydb;
 

将创建一个只能在托管数据库的本地计算机上连接的用户。

CREATE DATABASE mydb;
 

将创建一个可以从任何地方连接的用户(本地计算机除外)。

示例返回值:

查询正常,0行受影响(0.00秒)

添加权限

为指定数据库的所有表授予用户通用的基本权限:

CREATE DATABASE mydb;
 

为所有数据库上的所有表授予用户所有权限(请注意):

CREATE DATABASE mydb;
 

如上所示, *.* 定位所有数据库和表, databaseName.* 定位特定数据库的所有表。也可以像databaseName.tableName 那样指定数据库和表。

如果用户无需授予其他用户权限,则应忽略WITH GRANT OPTION

特权可以

CREATE DATABASE mydb;
 

以下的组合,每个用逗号分隔(非详尽列表)。

CREATE DATABASE mydb;
 

注意

通常,您应该尽量避免在SQL中使用包含空格或使用保留字的列或表名。例如,最好避免使用table 或名字等first name

如果你必须使用这些名称,请将它们放在后面的`` 分隔符”之间。例如:

CREATE DATABASE mydb;
 

包含此表上的反斜杠分隔符的查询可能是:

CREATE DATABASE mydb;
 

信息模式示例

PROCESSLIST

这将按顺序显示所有活动和休眠查询,然后显示多长时间。
SELECT * FROM information_schema.PROCESSLIST ORDER BY INFO DESC, TIME DESC;
 

这是关于时间帧的更多细节,因为它默认为秒

SELECT * FROM information_schema.PROCESSLIST ORDER BY INFO DESC, TIME DESC;
 

存储过程搜索

通过所有Stored Procedures 轻松搜索单词和通配符。

SELECT * FROM information_schema.PROCESSLIST ORDER BY INFO DESC, TIME DESC;
 

Stats

2302 Contributors: 32
Tuesday, July 4, 2017
许可下: CC-BY-SA

不隶属于 Stack Overflow
Rip Tutorial: info@zzzprojects.com

下载电子书