MySQL 建表及基本语句
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System:关系数据库管理系统) 应用软件之一。点击查看下载地址
一、建库 & 建表
Navicat 拥有过百种增强功能和耳目一新的界面,提供构建、管理和维护数据库的新方法。
1-1、建库
新建连接,输入连接名及密码:
右键连接选择新建数据库:
点击确定完成库的创建,相当于执行了:
CREATE SCHEMA `my_blog` ;
1-2、建表
- 右键数据库中的表选择「新建表」
- 构建表结构;
- 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、增
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、删
语法:
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、改
语法:
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、查
语法:
-- 查询指定字段
SELECT col1, col2
FROM table_name;
-- 查询全部字段
SELECT *
FROM table_name;
与 DELETE、UPDATE 同理,也可以使用 WHERE
、ORDER BY
、LIMIT
。
示例:
SELECT
username,
`password`
FROM
users
WHERE
username LIKE '%x%'
ORDER BY
`password`
LIMIT 3;
原表:
查询结果: