
按图中问题和需求,以下会使用mysql环境的sql进行解答。
第一题: 考察主键和外键的创建表语句,以及基本的创建语句格式。这里提供两种,其余可以查阅相关资料。
第一题方法1
第一题方法2
第二题: 简单的条件查询语句,使用SELECT语句
第二题
第三题: 简单的删除语句,使用DELETE语句
第三题
第四题: 简单的更新语句,使用UPDATE 语句
第五题: 考察mysql用户表查询和授权,使用GRANT语句
首先我们需要查看user1用户的host,这里的host字段,可以限制用户访问数据库的ip地址,详细自行查阅资料。可以使用如下语句
mysql 用户host查询
假设user1 的 host 是 %,修改授权一般为增删改查,因此语句如下
mysql 单表权限
第六题: 索引涉及表结构修改,使用 ALTER 语句
mysql 添加索引
第七题:关联查询
choice表是学生与岗位的关联关系,一对多或者多对一即多个学生在一个岗位,或者一个学生在多个岗位,那么先把这几张表关联查询一下。
关联查询结果
然后使用group by分组函数和having聚合函数进行过滤。
岗位数大于等于3的学生信息
第八题: 简单的数据插入语句格式,INSERT INTO语句有多种写法,不声明字段,声明部分字段对应值,同时添加多条,详细还请自行查阅资料。
mysql 插入数据
MySQL 需要创建隐式临时表来解决某些类型的查询。往往查询的排序阶段需要依赖临时表。例如,当您使用 GROUP BY,ORDER BY 或DISTINCT 时。这样的查询分两个阶段执行:首先是收集数据并将它们放入临时表中,然后是在临时表上执行排序。对于某些 UNION 语句,不能合并的 VIEW,子查询时用到派生表,多表 UPDATE 以及其他一些情况,还需要使用临时表。如果临时表很小,可以到内存中创建,否则它将在磁盘上创建。MySQL 在内存中创建了一个表,如果它变得太大,就会被转换为磁盘上存储。内存临时表的最大值由 tmp_table_size 或 max_heap_table_size 值定义,以较小者为准。MySQL 5.7 中的默认大小为 16MB。如果运行查询的数据量较大,或者尚未查询优化,则可以增加该值。设置阈值时,请考虑可用的 RAM 大小以及峰值期间的并发连接数。你无法无限期地增加变量,因为在某些时候你需要让 MySQL 使用磁盘上的临时表。
注意:如果涉及的表具有 TEXT 或 BLOB 列,则即使大小小于配置的阈值,也会在磁盘上创建临时表。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)