JavaWeb第一天作业

本文介绍了JavaWeb中数据库的相关操作,包括创建、修改表结构,数据表间的关系以及CRUD操作。详细讲解了一对一、一对多、多对多关系,并提供了数据插入、更新、删除和查询的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库建表:

首先建立数据库:

CREATE DATABASE database_name;

使用

SHOW CREATE DATABASE mybatis;

查看数据库

数据库删除:

DROP DATABASE database_name

建立好数据库后开始建表

use DATABAE_name;
CREATE TABLE TAB_NAME(
字段1 类型 约束 默认值,
字段2 类型 约束 默认值,
字段n 类型 约束 默认值
)

需注意“;”和“,”的使用,不要漏写,表的名称,不区分大小写,不能使用SQL语言中的关键 字,如DROP、ALTER、INSERT 等。

其中,字段1等是表的各种属性,其后跟着的类型约束等则是对于属性的进一步描述。

修改表结构

查看表结构:

 DESCRIBE 表名;
-- 简写为:
 DESC 表名;

修改表名:

ALTER TABLE 旧表名 RENAME TO 新表名;

修改字段数据类型:

ALTER TABLE 表名 MODIFY 字段名 数据类型;

修改字段名:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

添加字段:

ALTER TABLE 表名 ADD 新字段名 新字段类型 约束条件 FIRST; -- 置顶
ALTER TABLE 表名 ADD 新字段名 新字段类型 约束条件 AFTER 已存在字段名;  -- 放在某字段之后

删除字段:

ALTER TABLE 表名 DROP 字段名 ;

删除表的外键约束:

ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;

更换表的储存引擎:

ALTER TABLE 表名 ENGINE=更改后的存储引擎名;

删除表:

 DROP TABLE 表名;

数据表之间的关系

一对一,一对多,多对多

一对一:

一个人对应一张身份证,一张身份证对应一个人

完全可以合成一张表,可选任意主键放入另一表里

一对多关系实例:

一个班级拥有多个学生,一个学生只能够属于某个班级

应把学生主键作为外键置于班级表里

多对多实例:

一个学生可以选修多门课程,一个课程可以被多个学生选修

做一张中间表,将多对多转化为两个一对多,中间表里面存放学生表里面的主键和课程表里面的主键。学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系

数据CRUD操作

插入数据:

INSERT INTO 表名 VALUES(val_list);

INSERT INTO 表名(col_list) VALUES(val_list);

插入多条记录:

INSERT INTO 表名(col_list) VALUES(val_list1),(val_list2),(val_list3),(val_list4);

备份数据表:

INSERT INTO 备份表名 SELECT * FROM 表名; --表存在
CREATE INSERT INTO 备份表名 SELECT * FROM 表名;  -- 表不存在

更新数据:

 UPDATE 表名 SET 字段1='更新内容',字段2='更新内容',字段3='更新内容' WHERE 表id=数字;
-- where 不一定要接表id,这只是其中一种方式

删除数据:

DELETE FROM 表名 WHERE 表id=数字; -- 如果没有指定位置将把表中的数据全部删除
-- where 不一定要接表id,这只是其中一种方式

查询:

SELECT 想获取的字段名1,字段名2,…,字段名n FROM 表名 WHERE 查询条件;
SELECT * FROM emp WHERE empsex='女'; -- 这里的 * 代指全部字段

IN查询:

SELECT * FROM emp WHERE empid=1 OR empid=4 OR empid=8 OR empid=10;
-- 等效于
SELECT * FROM emp WHERE empid IN (1,4,8,10);
-- 加not取反
SELECT * FROM emp WHERE empid NOT IN (1,4,8,10);


BETWEEN AND的范围查询:

SELECT * FROM emp WHERE empid>=6 AND empid<=10;
-- 等效于
SELECT * FROM emp WHERE empid BETWEEN 6 AND 10;

LIKE模糊查询:

SELECT * FROM emp WHERE empname LIKE 'a%'; -- 以a开头的enpname的所有数据
SELECT * FROM emp WHERE empname LIKE '%a'; -- 以a结尾
SELECT * FROM emp WHERE empname LIKE '%a%'; -- 包含a

查询结果不重复:

SELECT DISTINCT empid,empname,empsex FROM emp;

对查询结果排序:

SELECT * FROM emp ORDER BY empid DESC;  -- 单列排序
SELECT * FROM emp ORDER BY empid DESC ,deptid DESC;  -- 多列排序

文档练习1:

use one;
CREATE TABLE student(
	officeCode int PRIMARY KEY AUTO_INCREMENT,
	city VARCHAR(50) not null,
  address VARCHAR(50),
  country VARCHAR(50) not NULL,
	postalcode VARCHAR(15) UNIQUE

);
ALTER TABLE student RENAME  offices;


CREATE TABLE employees(
	employeeNumber INT PRIMARY KEY NOT NULL AUTO_INCREMENT NOT NULL UNIQUE,
	lastName VARCHAR(50) NOT NULL,
	firstName VARCHAR(50) NOT NULL,
	mobile VARCHAR(25) UNIQUE,
	officeCode INT(10) NOT NULL,
	jobTitle VARCHAR(50) NOT NULL,
	birth DATETIME NOT NULL,
	note VARCHAR(255),
	sex VARCHAR(5)
);

ALTER TABLE offices ADD CONSISTENT fk_offices FOREIGN KEY(officeCode) REFERENCES employees(officeCode)
-- 设置外键约束

ALTER TABLE employees MODIFY mobile VARCHAR(25) AFTER officeCode; 
-- 修改mobile到officeCode的后面

ALTER TABLE employees CHANGE birth employee_birth DATETIME;
--  将表employees的birth字段改名为employee_birth。

ALTER TABLE employees MODIFY sex VARCHAR(1) NOT NULL;
--  修改sex字段,数据类型为CHAR(1),非空约束。

ALTER TABLE employees DROP note;
--  删除字段note。


ALTER TABLE employees ADD favoriate_activity VARCHAR(100);
-- 增加字段名favoriate_activity,数据类型为VARCHAR(100)。

DROP TABLE offices;
--  删除表offices。


ALTER TABLE employees RENAME TO employees_info;
--  将表employees名称修改为employees_info。

资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 在Android开发中,为了提升用户体验和视觉效果,背景模糊化处理是一种常用的设计手段。它可以为应用界面增添层次感,同时突出显示主要内容。本文将详细介绍如何在Android中实现背景模糊化功能。 首先,我们需要获取当前设备的壁纸作为背景。这可以通过WallpaperManager类来完成。调用WallpaperManager.getInstance(this.getContext())可以获取壁纸管理器实例,然后通过getDrawable()方法获取当前壁纸的Drawable对象。接下来,需要将壁纸Drawable转换为Bitmap对象,因为模糊处理通常需要在Bitmap上进行。可以通过((BitmapDrawable) wallpaperDrawable).getBitmap()来完成这一转换。 模糊处理的核心是使用Android的RenderScript API。RenderScript是一种高效的并行计算框架,特别适合处理图像操作。在blur()方法中,我们创建了一个RenderScript实例,并利用ScriptIntrinsicBlur类来实现模糊效果。ScriptIntrinsicBlur提供了设置模糊半径(setRadius(radius))和执行模糊操作(forEach(output))的方法。模糊半径radius可以根据需求调整,以达到期望的模糊程度。 然而,仅依赖ScriptIntrinsicBlur可能无法达到理想的模糊效果,因此我们还需要对原始图片进行缩放处理。为此,我们设计了small()和big()方法。先将图片缩小(small()),然后执行模糊操作,最后再将图片放大(big())。这种方式不仅可以增强模糊效果,还能在一定程度上提高处理速度。在small(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值