');
SELECT * FROM product WHERE (category_id, cutoff) = (SELECT category_id, cutoff FROM product WHERE product_name = '罗技MX1100');
查询结果:
2.MySQL数据操作DML语句
2.1 插入语句(insert)
插入语句:一次只插入一行。
语法:
insert into table_name (column1,column2,column3...) values (value1, value2, value3…);
插入多行数据记录。
语法:
insert into table_name (column1,column2,column3...) values
(value1, value2, value3…), (value4, value5, value6…), (value7, value8, value9…);
实例:
# 插入一行
INSERT INTO mytable(id, name, age, sex) VALUES (1, '琳', 21, 0);
INSERT INTO mytable(sex, age, name, id) VALUES (1, 18, '小白', 2); #顺序可以打乱,只要插入的键值一一对应即可
# 插入多行-- MySQL特有
INSERT INTO mytable(id, name, age, sex)
VALUES (3, 'test01', 26, 0), (4, 'test02', 27, 1), (5, 'test03', 28, 1);
2.2 修改语句(update)
修改语法:
update table_name set column1 = value1, column2 = value2, column3 = value3…
[where condition];
注意:如果省略了where语句,则是修改全表的数据。
修改实例:
# 修改数据
# 将零售价大于300的货品零售价上调0.2倍
UPDATE product SET sale_price = sale_price * 1.2 WHERE sale_price > 300;
# 将零售价大于300的有线鼠标的货品零售价上调0.1倍
UPDATE product p JOIN product_category pc ON p.category_id = pc.id
SET sale_price = sale_price * 1.1 WHERE sale_price > 300 AND pc.category_name = '有线鼠标';
2.3 删除语句(delete)
语法:
delete from table_name [where condition];
注:如果省略了where,则会全表数据都进行删除。
实例:
# 删除一条
DELETE FROM mytable WHERE id = 4;
# 删除多条
DELETE FROM mytable WHERE id >=3;
3. MySQL数据备份
MySQL数据备份有两种方式:通过Navicat工具的SQL导入/导出和使用命令行的方式导入/导出。这里主要说明使用命令行的方式。
语法:
导出:mysqldump -u账户 -p密码 数据库名称>脚本文件存储地
MySql自身的数据库维护
通过cmd命令进入dos窗口:
mysqldump -uroot -padmin jdbcdemo> C:/shop_bak.sql
导入:mysql -u账户 -p密码 数据库名称< 脚本文件存储地址
mysql -uroot -padmin jdbcdemo< C:/shop_bak.sql