MySQL数据库操作强化:创建与查询users及cards表
169 浏览量
更新于2024-09-01
收藏 72KB PDF 举报
"MySQL数据库必知必会SQL语句(加强版),涵盖了表的创建、数据插入、查询以及关联操作等内容。"
在MySQL数据库管理中,SQL(Structured Query Language)是用于管理和操作数据库的重要工具。本资源主要介绍了创建表、插入数据、查询数据以及一对一关系的建立等基本操作。
首先,我们看到创建`users`表的语句,这里用到了`DROP TABLE IF EXISTS`来确保在已有同名表的情况下先删除,再通过`CREATE TABLE IF NOT EXISTS`创建新表,确保不会因重复创建而报错。`users`表包含`id`、`name`、`gender`和`sal`四个字段,`id`是主键,设置了`auto_increment`使得每次插入新记录时自动递增,`name`字段设为唯一且非空,`gender`和`sal`也都是非空字段。接着,通过`INSERT INTO`语句向`users`表中插入了两条数据。
接下来的问题是查询用户AA的`id`,这涉及到`SELECT`语句的使用。由于`name`字段是唯一的,可以直接通过`SELECT id FROM users WHERE name = 'AA'`来获取AA的身份号。
此外,还展示了如何创建一对一的关系。这里创建了`cards`表,它与`users`表有一对一关联,每个用户对应一张卡。`cards`表有`id`、`num`、`loc`和`uid`字段,其中`uid`是外键,引用了`users`表的`id`字段,确保了`uid`在`users`表中存在。插入数据后,可以使用`INNER JOIN`来联接两个表,例如`SELECT u.name, c.num FROM users u INNER JOIN cards c ON u.id = c.uid WHERE u.name = 'AA'`,此查询将返回用户AA的卡号。
对于SQL优化,一个重要的原则是减少数据库的I/O操作,避免全表扫描,可以通过合理使用索引、避免在`WHERE`子句中使用不带索引的列、预编译语句等方式提高查询效率。例如,为`name`字段创建索引可以加快按姓名查询的速度。
总结起来,这个资源提供了关于MySQL数据库基础操作的实例,包括创建表、插入数据、查询数据和建立表间关系等,适合初学者和需要巩固基础知识的开发者参考。通过理解和实践这些语句,可以提升在MySQL数据库管理中的技能。
2023-06-08 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2017-06-03 上传
2021-10-09 上传
2009-09-16 上传
点击了解资源详情
weixin_38612095
- 粉丝: 10
- 资源: 921
最新资源
- discBot
- accesslist:在渗透测试中使用的多种类型的列表的集合,收集在一个地方。 列表类型包括用户名,密码,组合,单词列表等等。
- Technologieplauscherl-Steyr:在斯太尔展示 Technologieplauscherl
- practice-code:来自各种竞争平台的Java中用于设计模式的代码
- 2021“昇腾杯”遥感影像智能处理算法大赛——语义分割赛道,冠军方案.zip
- spate141
- PositioningandFloatingElements:一种使用HMTL和CSS知识以及最近学习的float元素的实践
- Learn-Chess-Commentary
- Python库 | genomedata-1.1.0-py2.5.egg
- areddy831.github.io:按建筑风格对图像进行分类
- seash:Rust中的最小外壳
- 课程测试
- gatsby-starter-styleguide:根据您的主题UI配置立即创建样式指南页面。 零配置-只需安装主题并查看以精美的方式显示的主题UI配置
- 使用循环【迭代】来进行转化数字为中文
- ArduinoPlusPlus:无需编程即可编程arduino
- snappy:Ruby的libsnappy绑定