目录
如果还未安装MySQL,可以看看我另一篇文章
示例数据集(来自力扣)
SalesPerson表:
sales_id | name | salary | commission_rate | hire_date |
1 | John | 100000 | 6 | 2006-04-01 |
2 | Amy | 12000 | 5 | 2010-05-01 |
3 | Mark | 65000 | 12 | 2008-12-25 |
4 | Pam | 25000 | 25 | 2005-01-01 |
5 | Alex | 5000 | 10 | 2007-02-03 |
Company表:
com_id | name | city |
1 | RED | Boston |
2 | ORANGE | New York |
3 | YELLOW | Boston |
4 | GREEN | Austin |
Orders表:
order_id | order_dat | com_id | sales_id | amount |
1 | 2014-01-01 | 3 | 4 | 10000 |
2 | 2014-02-01 | 4 | 5 | 5000 |
3 | 2014-03-01 | 1 | 1 | 50000 |
4 | 2014-04-01 | 1 | 4 | 25000 |
对数据库的操作
创建数据库
CREATE DATABASE `[库名]`;
-- (使用引号可以避免命名与关键字冲突导致的命名失败)
-- 如
CREATE DATABASE `mytest`;
显示现有数据库
SHOW DATABASES;
删除一个数据库
DROP DATABASE `[库名]`;
-- 如
DROP DATABASE `mytest`;
使用数据库
USE `[库名]`;
-- 如
USE `mytest`;
对表格的操作
创建表格
CREATE TABLE [表名](
`[列名]` [属性]
);
-- 如
CREATE TABLE salesperson(
`sales_id` INT PRIMARY KEY,
`name` VARCHAR(10),
`salary` INT,
`commission_rate` INT,
`hire_date` DATE
);
-- 或
CREATE TABLE salesperson(
`sales_id` INT
`name` VARCHAR(10),
`salary` INT,
`commission_rate` INT,
`hire_date` DATE,
PRIMARY KEY(`sales_id`)
);
Primary key主键可以唯一的表示每一行数据,不可为空,不能重复。可以设定两个或两个以上primary key。
Foreigh key外键,只能对应到另外一张表格或自己的表格的primary key(避免重复)。
查看表格
DESCRIBE `[表名]`;
-- 如
DESCRIBE `salesperson`;
删除表格
DROP TABLE `[表名]`;
-- 如
DROP TABLE `salesperson`;
修改表名
ALTER TABLE `[原表名]` RENAME TO `[新表名]`;
-- 如
ALTER TABLE `[mytable]` RENAME TO `[newtable]`;
新增列
ALTER TABLE `[表名]` ADD [列名] [列属性];
-- 如
ALTER TABLE `salesperson` ADD gpa DECIMAL(3,2);
删除列
ALTER TABLE `[表名]` DROP [列名];
-- 如
ALTER TABLE `salesperson` DROP gpa;
操作表中数据
插入数据
INSERT INTO `[表名]` VALUES([值],[值],...,[值]);
-- 或
INSERT INTO `[表名]`([列名],[列名],...,[列名]) VALUES([值],[值],...,[值]);
-- 如
INSERT INTO `salesperson` VALUES(1,'John',100000,6,20060401);
删除表中数据
DELETE FROM `[表名]` WHERE [列名] = [值];-- 带有条件的删除
DELETE FROM `[表名]`;-- 删除表中所有数据
TRUNCATE TABLE `[表名]`;-- 删除表中所有数据并创建一个新的表
-- 如
DELETE FROM `salesperson`;
修改表中数据
UPDATE `[表名]` SET [列名] = [值];-- 应用于列中所有数值
UPDATE `[表名]` SET [列名] = [值] WHERE [列名] = [值];
-- 如
UPDATE `salesperson` SET salary = 0;
查询语句
未完待续