MySQL数据库操作强化:创建与查询users及cards表
152 浏览量
更新于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
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章