MySQL实战:子查询运用与数据操作
"MySQL数据库操作,包括查询语句、增删记录及子查询的使用方法" 在MySQL中,数据库操作是日常开发和管理的重要部分。本资源主要涉及了MySQL的查询语句、添加记录以及删除记录的操作,特别是对子查询进行了详细讲解。 1. **查询语句**: MySQL的查询语句基础是`SELECT`,用于从数据库中获取数据。例如,`SELECT * FROM table_name`将获取表`table_name`中的所有记录。这里的`*`代表所有列。你可以通过指定列名来选择特定列,如`SELECT column1, column2 FROM table_name`。 2. **增加记录**: 使用`INSERT INTO`语句可以在表中添加新记录。例如,在`tdb_goods`表中插入一条记录的语句如下: ``` INSERT INTO tdb_goods (goods_name, goods_cate, brand_name, goods_price, is_show, is_saleoff) VALUES ('商品名称', '分类', '品牌', '价格', DEFAULT, DEFAULT); ``` 这里`DEFAULT`关键字表示使用列的默认值。 3. **删除记录**: `DELETE FROM`语句用于删除记录。如果想删除所有记录,可以写成`DELETE FROM table_name`;如果只想删除满足特定条件的记录,可以加上`WHERE`子句,如`DELETE FROM table_name WHERE condition`。 4. **子查询**: 子查询是在一个查询语句内部嵌套另一个查询语句的方式。它可以作为外部查询(外查询)的条件。例如: ``` SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); ``` 在这个例子中,外查询是`SELECT * FROM t1`,子查询是`SELECT column1 FROM t2`。子查询的结果用于比较或运算,以确定外查询中哪些行应被选取。 - **行级子查询**: 行级子查询返回的结果是一行数据,例如: ``` SELECT * FROM t1 WHERE (col1, col2) = (SELECT col3, col4 FROM t2 WHERE id = 10); ``` 这种类型的子查询用于匹配多列值。 - **优化子查询**: 为了提高性能,可以考虑将子查询替换为JOIN操作,或者预先计算子查询的结果并存储在一个临时表或视图中。在示例中创建了`tdb_goods`表,并插入了几条记录,这展示了如何实际操作数据库。 5. **创建数据表**: 使用`CREATE TABLE`语句可以创建新的数据表。例如,`tdb_goods`表定义了多个字段,包括`goods_id`、`goods_name`、`goods_cate`等,并设置了主键、非空约束和默认值。 6. **数据类型**: 示例中使用了不同的数据类型,如`SMALLINT`、`VARCHAR`、`DECIMAL`和`BOOLEAN`,它们分别用于整数、可变长度字符串、浮点数和布尔值。 总结,该资源提供了MySQL数据库操作的基本概念,包括查询、插入、删除以及子查询的使用,同时展示了实际操作的例子,有助于理解和应用这些概念。通过学习和实践,可以提升在MySQL数据库管理中的技能。
例句:
SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);
其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement),
SELECT column1 FROM t2 称为Sub Query[子查询]。
所以,我们说子查询是嵌套在外查询内部。而事实上它有可能在子查询内部再嵌套子查询。
子查询必须出现在圆括号之间。
行级子查询
SELECT * FROM t1 WHERE (col1,col2) = (SELECT col3, col4 FROM t2 WHERE id = 10);
SELECT * FROM t1 WHERE ROW(col1,col2) = (SELECT col3, col4 FROM t2 WHERE id = 10);
行级子查询的返回结果最多为一行。
优化子查询
-- 创建数据表
CREATE TABLE IF NOT EXISTS tdb_goods(
goods_name VARCHAR(150) NOT NULL,
goods_cate VARCHAR(40) NOT NULL,
brand_name VARCHAR(40) NOT NULL,
goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
is_show BOOLEAN NOT NULL DEFAULT 1,
is_saleoff BOOLEAN NOT NULL DEFAULT 0
);
-- 写入记录
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('R510VC 15.6英寸笔记本','笔记本','华硕','3399',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Y400N 14.0英寸笔记本电脑','笔记本','联想','4899',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('G150TH 15.6英寸游戏本','游戏本','雷神','8499',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('X550CC 15.6英寸笔记本','笔记本','华硕','2799',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('X240(20ALA0EYCD) 12.5英寸超极本','超级本','联想','4999',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('U330P 13.3英寸超极本','超级本','联想','4299',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('SVP13226SCB 13.3英寸触控超极本','超级本','索尼','7999',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('iPad mini MD531CH/A 7.9英寸平板电脑','平板电脑','苹果','1998',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('iPad Air MD788CH/A 9.7英寸平板电脑 (16G WiFi版)','平板电脑','苹果','3388',DEFAULT,DEFAULT);
INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES(' iPad mini ME279CH/A 配备 Retina 显示屏 7.9英寸平板电脑 (16G WiFi版)','平板电脑','苹果','2788',DEFAULT,DEFAULT);
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦