MySQL面试准备:基础操作与关系理解

0 下载量 15 浏览量 更新于2024-09-04 收藏 165KB PDF 举报
在本文档中,我们将深入探讨MySQL基础面试准备的关键知识点。首先,关于Mac终端环境配置,当你在终端中设置环境变量后,为了使更改生效,你需要运行`source ~/.bash_profile`命令,然后才能执行`mysql -u root -p`登录MySQL服务器。默认情况下,MySQL使用TCP协议监听3306端口,无论是本地连接还是远程连接,可以通过`-h`选项指定主机地址,如`mysql -h 10.0.1.99 -u root -p`。 SQL语言在MySQL中是不区分大小写的,这使得它在编写时更具灵活性。关系型数据库中的SQL主要体现了一对多(one-to-many)、多对一(many-to-one)和一对一(one-to-one)的关系模型。在处理一对多关系时,常常会用到中间表来桥接两个表,形成多对多关系。主键是每个记录的唯一标识符,通常使用自增整数类型,不允许为空,且对于多列组成的联合主键,允许部分列重复,但必须至少有一列的值不重复。 外键是表与表之间的关联机制,通过定义外键约束(FOREIGN KEY)确保数据完整性。例如,在`ALTER TABLE students`中,添加外键约束的语句可能如下所示: ```sql ALTER TABLE students ADD CONSTRAINT fk_class_id FOREIGN KEY (class_id) REFERENCES classes(id); ``` 删除外键约束则使用`DROP FOREIGN KEY`: ```sql ALTER TABLE students DROP FOREIGN KEY fk_class_id; ``` 索引在MySQL中扮演着关键角色,它们能加速查询性能。创建单列索引(如`ADD INDEX idx_score(score)`)或复合索引(列出多个列)时,需注意索引列的分布对效率的影响。唯一索引(UNIQUE INDEX)用于保证列中值的唯一性,即使不包含索引,也能提供额外的约束。 总结来说,这篇文档涵盖了MySQL的基础配置、SQL语法、关系模型、主键和外键的概念、以及索引的创建和管理。对于准备MySQL面试的人来说,这些知识点是不可或缺的,理解并熟练掌握它们将有助于提高面试表现。
2023-05-31 上传

case 3: { system("CLS"); cout << "———————————————————————————————————————————————————修改图书信息—————————————————————————————————————————————————————\n" << endl; printf("|修改书籍信息|\n"); //修改数据 成功返回1,查询失败返回0 cout << "请输入要修改的书籍ID:"; cin >> book_id; cout << "请输入变更的书名:"; cin >> name; cout << "请输入变更数量:"; cin >> number; cout << "请输入变更价格:"; cin >> price; cout << "请输入变更后作者:"; cin >> author; cout << "请输入变更后类型:"; cin >> type; sql = "update books set books_name ='《" + name + "》',books_number =" + to_string(number) + ",books_price =" + to_string(price) + ",books_author ='" + author + "',books_type ='" + type + "' where books_id = " + to_string(book_id); if (mysql_query(&mysql, sql.c_str())) { cout << "Error: Query[update] fail." << endl; break; } cout << "update success." << endl; cout << "——————————————————————————————————————————————————————————————————————————————————————————————————————————————————\n" << endl; break; }将这段c++代码改成可选择修改各个信息

2023-05-31 上传