MySQL面试必备:创建与操作表、查询与更新数据

版权申诉
0 下载量 112 浏览量 更新于2024-09-08 收藏 88KB DOCX 举报
本文档包含了MySQL面试和笔试中常见的问题及解答,涵盖了表的创建、数据插入、查询、更新和删除等基本操作。 在MySQL数据库管理中,创建表是基础操作之一。例如创建一个名为`userinfo`的表,用于存储用户信息,包括id(主键且自增)、name(姓名)、age(年龄)、sex(性别)和memo(备注)。创建语句如下: ```sql CREATE TABLE userinfo ( id INT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(15), age TINYINT, sex CHAR, memo CHAR(2) ); ``` 批量插入数据到`userinfo`表中,可以使用`INSERT INTO`语句,如下所示: ```sql INSERT INTO userinfo (id, name, age, sex, memo) VALUES (1, '张三', 23, '男', '高中'), (2, '李四', 25, '女', '大专'), ... ``` 查询数据时,可以按照特定条件排序。比如,要按年龄降序排列用户信息,使用`ORDER BY`语句: ```sql SELECT * FROM userinfo ORDER BY age DESC; ``` 针对特定查询需求,可以使用`LIKE`关键字配合通配符来匹配部分字符串。如查找所有名字以“张”开头的用户: ```sql SELECT * FROM userinfo WHERE name LIKE '张%'; ``` 更新表中的数据,使用`UPDATE`语句,例如将名字为“马子”的用户年龄改为30: ```sql UPDATE userinfo SET age = 30 WHERE name = '马子'; ``` 删除数据则使用`DELETE FROM`语句,比如要删除名字为“亚瑟”的用户记录: ```sql DELETE FROM userinfo WHERE name = '亚瑟'; ``` 此外,文档还提到了更复杂的情景,如创建两个表`student`和`exam`,分别表示学生和考试信息。`student`表的学号为自增主键,格式前缀为001。创建语句如下: ```sql CREATE TABLE student ( code TINYINT(3) UNSIGNED ZEROFILL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(10) ); CREATE TABLE exam ( id INT AUTO_INCREMENT PRIMARY KEY, code TINYINT, subject CHAR(2), score TINYINT ); ``` 对于这两个表的操作,包括插入新学生、更新考试成绩等,如下所示: ```sql INSERT INTO student (code, name) VALUES (005, '小红'); UPDATE exam SET score = 85 WHERE code = (SELECT code FROM student WHERE name = '李四'); ``` 这些是MySQL数据库操作的基础知识,常在面试和笔试中出现,是数据库管理员和开发人员必须掌握的核心技能。通过理解和熟练应用这些语句,可以有效地管理数据库中的数据,满足各种业务需求。