MySQL数据库操作强化:创建与查询users及cards表

0 下载量 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数据库管理中的技能。