Skip to main content

MySQL 建表及基本语句

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System:关系数据库管理系统) 应用软件之一。点击查看下载地址

一、建库 & 建表

Navicat 拥有过百种增强功能和耳目一新的界面,提供构建、管理和维护数据库的新方法。

Mac 破解版下载地址

1-1、建库

新建连接,输入连接名及密码:

右键连接选择新建数据库:

点击确定完成库的创建,相当于执行了:

CREATE SCHEMA `my_blog` ;

1-2、建表

  1. 右键数据库中的表选择「新建表」
  2. 构建表结构;
  3. Command + S 输入表名完成表的创建:

相当于执行了:

CREATE TABLE `my_blog`.`users` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(20) NOT NULL,
`password` VARCHAR(20) NOT NULL,
PRIMARY KEY (`id`));

可通过右键表选择「设计表」对表结构进行修改。

1-3、操作数据库

选择数据库:

use 库名;

查看建立的表:

show tables;

常用快捷键:

  • ctrl/command + R(执行当前语句)
  • ctrl/command + shift + R(执行所有语句)
  • ctrl/command + /(注释)

二、MySQL 基本语句

以上面建的 users 表为例:

1、增

点击查看 Node.js 操作 MySQL 插入数据

1-1、插入一条数据

语法:

INSERT INTO table_name(col1, col2, ...)
VALUES (val1, val2, ...);

示例:

INSERT INTO users ( username, `password` )
VALUES ('dorki', 123456)

如果 VALUES 值列表与表中的字段顺序完全一致,可以省略字段列表,例如:

INSERT INTO users
VALUES (1, 'dorki', 123456)

如果某个字段可为空或定义了默认值,插入数据时可以不指定该字段,或指定 default,表示使用默认值。

INSERT INTO users
VALUES (DEFAULT, 'dorki', 123456)

结果:

1-2、插入多条数据

语法:

INSERT INTO table_name(col1, col2, ...)
VALUES (val11, val12, ...), (val21, val22, ...), ...;

示例:

INSERT INTO users ( username, PASSWORD )
VALUES
( 'aaa', 111 ),
( 'bbb', 222 ),
( 'ccc', 333 );

结果:

2、删

点击查看 Node.js 操作 MySQL 删除数据

语法:

DELETE
FROM table_name
[WHERE conditions]
[ORDER BY ...]
[LIMIT row_count];

2-1、DELETE

示例:

DELETE 
FROM
users;

执行前:

执行结果:

2-2、+ WHERE

WHERE 表示只有满足指定条件的数据行才会被执行。

示例:

DELETE 
FROM
users
WHERE
username = 'aaa';

执行前:

执行结果:

2-3、+ LIMIT

LIMIT 表示只对指定行数执行。

示例:

DELETE 
FROM
users
LIMIT 2;

执行前:

执行结果:

2-4、+ ORDER BY + LIMIT

ORDER BY 表示按照指定字段的顺序执行,与 LIMIT 结合使用,表示执行排序后的指定行数。

示例:

DELETE 
FROM
users
ORDER BY
`password`
LIMIT 2;

执行前:

有 ORDER BY 执行结果:

无 ORDER BY 执行结果:

2-5、+ WHERE + ORDER BY + LIMIT

三者结合使用,表示对满足指定条件下的记录,按指定字段的顺序排序,然后执行指定行数。

示例:

DELETE 
FROM
users
WHERE
username LIKE '%x%'
ORDER BY
`password`
LIMIT 2;

执行前:

执行结果:

这里只对 username 包含 x 字符的记录进行操作,删除按 password 的顺序排序后的前 2 行。

3、改

点击查看 Node.js 操作 MySQL 修改数据

语法:

UPDATE table_name
SET col1 = expr1,
col2 = expr2,
...
[WHERE conditions]
[ORDER BY ...]
[LIMIT row_count];

3-1、UPDATE

示例:

UPDATE users 
SET username = 'ddd';

执行前:

执行结果:

3-2、+ WHERE

示例:

UPDATE users 
SET username = 'ddd'
WHERE
username = 'aaa';

执行前:

执行结果:

3-3、+ LIMIT

示例:

UPDATE users 
SET username = 'iii'
LIMIT 2;

执行前:

执行结果:

3-4、+ ORDER BY + LIMIT

示例:

UPDATE users 
SET username = 'iii'
ORDER BY
`password`
LIMIT 2;

执行前:

执行结果:

3-5、+ WHERE + ORDER BY + LIMIT

示例:

UPDATE users 
SET username = 'iii'
WHERE
username LIKE '%x%'
ORDER BY
`password`
LIMIT 2;

执行前:

执行结果:

4、查

点击查看 Node.js 操作 MySQL 查找数据

语法:

-- 查询指定字段
SELECT col1, col2
FROM table_name;

-- 查询全部字段
SELECT *
FROM table_name;

与 DELETE、UPDATE 同理,也可以使用 WHEREORDER BYLIMIT

示例:

SELECT
username,
`password`
FROM
users
WHERE
username LIKE '%x%'
ORDER BY
`password`
LIMIT 3;

原表:

查询结果: