数据库第一次练习

一、数据库

1、登陆数据库

mysql -uroot -p'密码'

在这里插入图片描述
2、创建数据库zoo

create database zoo;

在这里插入图片描述
3、修改数据库zoo字符集为gbk

#查看字符集类型
show variables like 'character%';
#修改字符集
alter database zoo character set gbk;

在这里插入图片描述
4、选择当前数据库为zoo

use zoo;

在这里插入图片描述
5、查看创建数据库zoo信息

show create database zoo;

在这里插入图片描述
6、删除数据库zoo

drop database if exists zoo;

在这里插入图片描述

二、创建表

1、创建一个名称为db_system的数据库

create database db_system;

在这里插入图片描述
2、在该数据库下创建两张表,具体要求如下

	员工表 user
 字段		类型	约束			备注
 id			整形	主键,自增长	id
 NAME		字符型	非空			姓名
 gender	 	字符	非空			性别
 birthday	日期型					生日
 entry_date	日期型	非空			入职时间
 job	 	字符型	非空			职位

	员工绩效表 salary
字段		类型	约束								备注
id			整形	主键,自增长						id
userId		整形型	非空,外键,关联的是user表的id字段 	用户id
baseSalary	小数	非空								基本工资
month		整数	非空								月份
allowances	小数	非空,默认为0						补贴
#员工表
create table user (
id int auto_increment primary key,
name varchar(11) not null comment '姓名',
gender char(1) not null comment '性别',
birthday date comment '生日',
entry_date date not null comment '入职时间',
job varchar(255) not null comment '职位'
);

在这里插入图片描述

#员工绩效表
create table salary (
id int primary key auto_increment,
userld int not null,
baseSalary decimal(10,2) not null comment '基本工资',
month int not null comment '月份',
allowances decimal(10,2) not null default 0 comment'补贴',
foreign key (userld) references user(id) on delete cascade
);

在这里插入图片描述

三、修改表

1、在上面员工表的基本上增加一个image列,类型是blob,长度255。

alter table user add column image blob comment'照片';

在这里插入图片描述

2、修改job列,使其长度为60。

alter table user modify column job varchar(60) comment '职位';

在这里插入图片描述

3、删除gender列。

alter table user drop column gender;

在这里插入图片描述

4、表名salary改为usersalary。

rename table salary to usersalary;

在这里插入图片描述

5、修改表的字符集为utf8;

alter table usersalary convert to character set utf8 collate utf8_general_ci;

在这里插入图片描述

6、列名name修改为username

alter table user change name username varchar(255) comment '用户名';

在这里插入图片描述

关于头歌数据库第一次作业的相关资料或指导,虽然无法提供具体的答案,但可以基于已有的引用内容以及专业知识给出一些提示和建议。 ### 关于SQL查询的基础知识 如果头歌数据库第一次作业涉及SQL查询基础,则可能需要掌握复杂的嵌套查询语法。例如,在引用中提到的一个例子展示了如何使用`ALL`关键字进行条件过滤[^1]: ```sql SELECT col1 FROM table1 WHERE col1 > ALL (SELECT col2 FROM table2); ``` 上述代码表示从表 `table1` 中选取满足大于 `table2` 所有记录值的字段 `col1` 的所有行。这种类型的查询通常用于多表关联场景下的复杂筛选逻辑。 --- ### HTAP数据库的概念及其应用背景 对于更高级别的数据库设计或者优化题目,可能会涉及到HTAP(Hybrid Transactional/Analytical Processing)数据库的设计理念。根据已有引用描述[^2],HTAP数据库分为两类不同的架构模式: - **第一类**:以列存为主的系统(如 SAP HANA),其特点是高性能的OLAP查询能力和相对适中的OLTP事务处理能力; - **第二类**:分布式行存为主、列存为辅助副本的结构(如 TiDB)。这类系统的优点在于高度可扩展性和对两种工作负载的良好平衡支持。 这些概念可以帮助理解现代数据库管理系统是如何兼顾实时交易需求与大规模数据分析任务的要求。 --- ### 窗口函数的应用技巧 另外还提到了窗口函数相关内容[^3],这可能是某些练习的重点之一。“PARTITION BY”引导的是分区内部分析操作,“ORDER BY”则定义了每一分区内的顺序排列方式。下面是一个简单的示例展示如何利用窗口函数计算累计销售额: ```sql SELECT product_id, sale_date, amount, SUM(amount) OVER(PARTITION BY product_id ORDER BY sale_date) AS cumulative_sales FROM sales; ``` 此脚本会针对每一个产品分别按照日期升序累积求和销售金额。 --- #### 提醒事项 由于具体课程安排未知,请自行确认实际考核范围是否覆盖以上知识点。同时注意遵循学术诚信原则完成个人学习成果提交。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值