错题集
ukimiya
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
连续使用inner join,查询每个产品类别中价格最高的产品名称和价格
已知 products 表(product_id,product_name,price,category_id)categories 表(category_id,category_name)查询每个产品类别中价格最高的产品名称和价格。请使用子查询和分组实现。和price同时匹配。效果:筛选出每个类别中价格等于该类别最高价的记录。原创 2025-03-13 19:36:57 · 288 阅读 · 0 评论 -
创建表时,某字段默认值为当前系统日期,某字段保留2位小数,某字段添加注释
order_amount(小数类型,保留两位小数,不能为空)。同时,为customer_id字段添加一个注释“客户ID”。order_date(日期类型,默认值为当前系统日期),字段名 date default curdate()包含字段order_id(整数类型,主键且自增),字段名 decimal(总位数,小数部分的位数)customer_id(整数类型,不能为空),字段名 字段类型 comment '注释内容'创建一个名为orders的表,请写出创建该表的SQL语句。原创 2025-03-06 18:53:05 · 188 阅读 · 0 评论 -
两表间建立外键约束,并为其中一表某字段的全部值设置固定值
已知有一个students表,包含字段student_id(整数类型,主键且自增),student_name(字符串类型,长度为50),class_id(整数类型)。现在要在students表和classes表之间建立外键约束,使得students表的class_id字段引用classes表的class_id字段。还有一个classes表,包含字段class_id(整数类型,主键且自增),class_name(字符串类型,长度为50)。重点:建立表与表之间的外键约束,s_c_id去关联c表的c.c_id。原创 2025-03-06 18:40:08 · 272 阅读 · 0 评论 -
为已经创建的表,将单字段unique约束改为双字段联合unique约束,并为表添加新字段及字段默认值
在实际应用中,如果你在创建唯一约束时指定了约束名,例如: CONSTRAINT book_name_unique UNIQUE (book_name) ,那么删除时应该使用:alter table books drop key book_name_unique;假设有一个名为books的表,包含字段book_id(整数类型,主键且自增),book_name(字符串类型,长度为100,不能为空),author(字符串类型,长度为50),price(小数类型,保留两位小数)。原创 2025-03-06 18:33:00 · 949 阅读 · 0 评论 -
e.d_id作为e表的外键,关联d表d.d_id 的案例
现有两张表,一张是departments表,包含字段department_id(整数类型,主键且自增),department_name(字符串类型,长度为50,唯一约束);另一张是employees表,包含字段employee_id(整数类型,主键且自增),employee_name(字符串类型,长度为50),再使用语句 foreign key (e.d_id) references d表(d.d_id) 实现需求。e.d_id作为e表的外键,做外键关联d表的d.d_id字段,原创 2025-03-06 18:15:45 · 230 阅读 · 0 评论 -
为创建好的表添加unique约束,并为某字段设置默认值,最后删除表的主键约束
创建一个名为students的表,包含字段student_id(整数类型,设为主键且自增),student_name(字符串类型,长度为50,不能为空),age(整数类型)。为已创建好的students表添加一个唯一约束,约束字段为student_name。重点:为已经创建的表的某个字段添加默认值,可以直接用alter设置默认值。删除students表的student_id字段的主键约束。为students表的age字段设置默认值为18。重点:unique约束后的字段名需要使用()【先去自增属性再删主键】原创 2025-03-06 18:01:54 · 220 阅读 · 0 评论 -
数据完整性约束的作用及举例 & 主键约束、唯一约束和非空约束的区别
在用户注册场景中,如保证用户名不重复(唯一约束)、密码不能为空(非空约束)等(2分)。确保数据准确、可靠,满足实际需求,保证存入的数据合法有效(2分)。主键约束(2分),可用于唯一标识用户,如将用户ID设为主键;唯一约束(2分),用于保证用户名、邮箱、手机号等不重复;非空约束(2分),保证密码、必填的个人信息等不能为空。值唯一且不能为空,用于唯一标识记录(1分),可在创建表时和已创建好的表上添加(1分)。可在创建表时和已创建好的表上添加(1分)。不允许重复,但可以为空(1分),不允许字段为空(1分),原创 2025-03-06 17:49:31 · 277 阅读 · 0 评论 -
为表内字段添加约束,使值在10-50之间,并用sql实现删除库中所有表的操作
创建一个数据库 “school”,在该数据库中创建一个表 “students_info”,包含字段 “student_id”(bigint 类型,作为主键)、“student_name”(varchar (20) 类型)、“age”(tinyint 类型)、“enroll_date”(date 类型)。修改 “students_info” 表,将 “student_name” 字段的数据类型修改为 varchar (30),并将 “age” 字段移动到 “enroll_date” 字段之后。原创 2025-03-06 17:38:34 · 326 阅读 · 0 评论 -
用timestamp存储用户出生日期,数据不会被随意更改吗?
存储从基准时间(如1970年1月1日00:00:00 UTC)开始到指定时间所经过的秒数或毫秒数,会将用户出生日期转换为对应时间戳数值存储。D 选项 “year” 只能存储年份,不能完整存储出生日期,所以选 ABC。:便于与系统中其他如注册时间、最后登录时间等时间相关数据进行统一管理和处理。C 选项 “timestamp” 可存储日期和时间,同样能存储出生日期;B 选项 “datetime” 可存储日期和时间,也能存储出生日期;A 选项 “date” 可存储日期,能存储出生日期;原创 2025-03-06 17:16:06 · 339 阅读 · 0 评论 -
在 Navicat 中创建存储过程的步骤及对应的 SQL 代码(简单案例)
可以通过点击 “连接” 按钮,选择相应的数据库类型(如 MySQL、MariaDB 等),并输入正确的连接信息(如主机名、端口、用户名、密码等)来完成连接。在编写完上述 SQL 代码后,点击查询窗口中的 “运行” 按钮(通常是一个绿色的三角形图标),或者使用快捷键(如 Ctrl + Enter)来执行代码。连接成功后,在 Navicat 的左侧导航栏中选择你要操作的数据库。接着,右键点击该数据库,在弹出的菜单中选择 “新建查询”,这将打开一个新的查询窗口,你可以在其中编写 SQL 代码。原创 2025-03-06 17:00:12 · 1942 阅读 · 0 评论
分享