javaWeb开发之基础--------------MySQL数据库总结

数据库基础知识(总结+摘抄) 阅读详情

总结了数据库操作的一些基本指令、数据完整性和多表复杂查询等。

MySQL中有六个地方使用了字符集,可以通过命令查看

show variables like 'character%';

修改客户端字符集:set character_set_client=gbk;

设置结果集用gbk:setcharacter_set_results=gbk;

数据库操作包括

库操作

表操作

数据操作

 

排序子句:order by

一、首先总结库操作的相关知识点:

创建一个库:

增

创建一个库:create database 库名;

创建一个gbk字符集的库:createdatabase  库名 character set gbk;

创建一个带有校对规则的库:create database 库名 character set gbk collate gbk_chinese_ci;

删

删除一个库:drop database 库名;

改

修改库的字符集为utf8:alter database 库名 character set utf8;

查

查看有多少库:show databases;

查看库创建细节:show create database 库名;

查询gbk字符集下main包含的校对规则:show collation like 'gbk%';

 

二、表操作的相关知识点

首先选择一个已经存在的库:use 库名;

增:

创建一个表:

           CREATE TABLE employee(

                      id int,

                      name varchar(100),

                      gender varchar(10),

                  );

create table ifnot exists person(

num int,

name varchar(60)

);

删:

删除一个表:drop table 表名;或者是:drop table ifexists 表名;

查:

查看一个表的详情:desc 表名;

查看库中的表:show tables;

改:

修改表名字:alter table oldname rename to newname;

           rename table oldname to newname;

修改表的字符集:alter table 表名 character set utf8;

三、对表中数据的操作

小小的总结:对表中的数据进行操作的时候,用到的是update关键字,而当需要对表中的列属性进行增删改查的时候,用到的是alter关键字!君要记牢哦!!!

 

增:

在表中增加一列:alter table 表名 add column 列名  列的类型;

插入数据:

例句1:insert into 表名values(1,'az','male','2015-15-12','ceo',50000,'hello');//不建议使用

例句2:insert into 表名(id,username,gender,birth,job,salary,resume)values(1,'az','male','2015-15-12','ceo',50000,'hello');

删:

删除一个列:alter table 表名 drop column 列名;

删除一行数据:delete from 表名 where 属性='某个属性';

delete from userwhere username='zhangsan';

删除表中所有数据:delete from 表名;  truncate table 表名;

改:

修改表的字符集:alter table 表名 character set utf8;

修改列的字符长度:alter table 表名 modify column 列名 要修改成的值;

alter tableemployee modefy column job varchar(60);

修改具体属性值:

例句1:将所有员工薪水改为5000。

UPDATE user SETsalary = 5000;

例句2:将姓名为’zs’的员工薪水修改为3000元。

UPDATE user SETsalary = 3000 WHERE username = 'zs';

例句3:将姓名为’aaa’的员工薪水修改为4000元,job改为ccc。

UPDATE user SETsalary = 4000 , job = 'ccc' WHERE username='aaa';

例句4:将'张三'的薪水在原有基础上增加1000元。

UPDATE user SETsalary = salary+1000 WHERE username = '张三';

查:

1、查询数据操作     select

           练习:

                 查询表中所有学生的信息。

                 SELECT * FROM student;

                 查询表中所有学生的姓名和对应的英语成绩。

                 SELECT name,english FROMstudent;

                 过滤表中重复数据。

                 SELECT DISTINCT english FROMstudent;

           练习:(使用表达式和列(表)别名)

                 在所有学生数学分数上加10分特长分。

                 SELECT name,math+10 FROMstudent;

                 统计每个学生的总分。

                 SELECTname,chinese+english+math FROM student;

                 使用别名表示学生分数。

                 SELECTname,chinese+english+math AS '总成绩' FROM student;

           练习:(使用条件进行过滤查询)

                 查询姓名为王五的学生成绩

                 SELECT * FROM student WHEREname = '王五';

                 查询英语成绩大于90分的同学

                 SELECT * FROM student WHEREenglish > 90;

                 查询总分大于200分的所有同学

                 SELECT * FROM student WHEREchinese+english+math > 200;

                 查询英语分数在 80-90之间的同学。

                 SELECT * FROM student WHEREenglish BETWEEN 80 AND 90;

                 查询数学分数为89,90,91的同学。

                 SELECT * FROM student WHEREmath in (89,90,91);

                 查询所有姓李的学生成绩。

                 SELECT * FROM student WHEREname LIKE '李%';

                 查询数学分>80,语文分>80的同学。

                 SELECT * FROM student WHEREmath>80 and chinese > 80;

           练习:(将查询结果排序)

                 对数学成绩排序后输出。

                 SELECT name,math FROM studentORDER BY math;

                 对总分排序后输出,然后再按从高到低的顺序输出。

                 SELECT name,chinese+english+mathAS 总分 FROM studentORDER BY 总分 DESC;

                 对姓李的学生成绩排序输出。

                 SELECT  name,chinese+english+math 总分 FROM student WHERE name LIKE '李%' ORDER BY 总分;

四、数据完整性和多表设计。

在向表中插入数据的时候,可能会存在插入的数据相同的情况,为了保证插入的数据是正确的完整的

就用到了数据的完整性,

数据完整性主要分类

1.  实体完整性(通过创建带主键的表)primary key

设置主键存在一个排序的问题,当只是设置一个主键的话,表中的数据按照这个主键进行升序排列,如果设置了联合主键的话,当第一个主键(在前面的主键)相同时候,按照第二个主键进行升序排列。

         四种创建带主键的方式

                 1.写在字段(属性)后,id int  primary key ,

                 2.写在所有字段后,(可以创建联合主键)create table t2(id int,namevarchar(100),primary key(id,name));

                 3.使用alter添加,(可以创建联合主键)ALTERTABLE t3 ADD PRIMARY KEY (id,name);

                 4.使用自增长 id int primary key auto_increment,

      2.域完整性(通过数据类型<属性>的主键、非空以及唯一性设置)如下:

           创建带主键,非空约束和唯一约束的表

                      create table T5(

                            ID int primary keyauto_increment,

                            USERNAMEvarchar(100) not null unique,

                            GENDER   char(1) not null,

                            PHONE  varchar(11) unique

                      );

      3.参照完整性(多表设计):如下例子:

           创建一对多关系的表,使用外键

                      CREATE TABLE customer(

                            id int primary key,

                            name varchar(100)not null,

                            address varchar(200)not null,

                            type varchar(100)not null

                      );

                      CREATE TABLE orders(

                            id int primary key,

                            amount int ,

                            price float(7,2),

                            code varchar(100),

                            customer_id int,

                            /*添加外键约束*/

                            CONSTRAINTFK_CUSTOMER_ID FOREIGN KEY (customer_id) REFERENCES customer(id)

                      );

五、DQL:数据查询语言之复杂查询。

      1.连接查询(显示和隐式)

           交叉连接(显示和隐式)

           Select * from table1,table2;此处是两个交叉的表。

           Selct * from customer crossjoin orders;

           内连接(显示和隐式)

         Select * from customer c,orders o where c.id=o.customer_id;

         显式:select * from customer cinner join orders on c.id=o.customer_id;

          

           外连接(左外连接、右外连接)

         Select * from customer c left outer join orders o onc.id=o.customer_id;

         Select * from customer c right outer join orders o onc.id=o.customer_id;

2. 子查询

小括号内的先执行

      3.常用聚合函数 其他函数

           count sum avg

 

分组查询:group by  having可以使用聚合函数,,where不行

【JAVA】Eclipse+MYSQL数据库+JSP+基础Servlet开发JavaWeb学生信息管理系统 本人是计算机相关专业的一个学生,大一学了Java,熟悉了一些Java代码,觉得挺有意思便在网上自学了一点基础的Servlet和前端页面的制作,正好实训周的实训项目是写一个学生管理系统,便琢磨了这样一套代码。学生信息管理系统是为了方便老师查看学生信息,成绩信息等等的平台,所以我们的代码实现出来的效果必须要很清楚明了地展现这些功能。此学生系统有登录过程,所以可能会比一般的代码多,话不多说,来吧,展示!以上就是我本次分享的所有内容啦,因为是第一次写博客,有些地方解释的不到位,请多多包涵。 阅读详情

相关推荐

2020最新版Java学习路线图--Javaweb学习重点知识

Java学习路线图的第三个阶段是Javaweb的学习,在Java学习路线图前两个阶段学完后开始学习Javaweb。Javaweb的学习目标是具备基本的JavaWeb开发能力,熟悉Linux服务器及相关软件的使用,可完成中小型企业级项目的开发需求。这个阶段学完后就可以考虑工作了,是不是很快? 黑马程序员Java学习路线图的这个阶段需要你掌握JavaWeb开发基础知识,熟悉Java基本开发环境、 熟悉...

CZ-001的博客 4475

db2删除大量数据_SQL 基础知识- 数据库与 SQL

目录What's 数据库数据库结构SQL 概要创建数据库与表删除和更新表一、What's 数据库  1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。  2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。  3.关系型数据库(Relatio...

weixin_39809793的博客 1355

JavaWeb和MySQL实现的毕业生管理系统项目

JavaWeb是基于Java语言开发的Web应用程序的核心技术,它允许开发者创建动态内容,并通过浏览器提供用户界面。作为企业级应用开发的主流技术之一,JavaWeb以其跨平台、安全性高、功能强大的特点,在IT行业内占据着举足轻重的地位。MVC(Model-View-Controller)设计模式是将应用程序分为三个核心组件的架构模式,旨在分离用户界面、数据处理和业务逻辑。

weixin_32661831的博客 1162

阿里云天池——SQL训练计划_task1

@wheaesong 2020-2-13 1 数据库简介 据库是将大量数据保存起来,通过计算机加工而成的可以 进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。 1.1 DBMS的种类 DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型. 层次数据库(Hierarchical Database,HDB) 关系数据库(Relational 

qq_44037783的博客 1486

基于JavaWeb和MySQL的电影院系统设计与实现

Servlet是Java EE规范之一,为了解决客户端和服务端的交互而设计的Java类。它运行在服务端,并且可以动态生成HTML页面。与传统的CGI脚本相比,Servlet由于其轻量级和跨平台的特性,已经成为JavaWeb开发中处理客户端请求的核心技术。Servlet的主要功能包括:处理客户端(通常是Web浏览器)的请求。与数据库或其他数据源进行交互。动态地生成HTML页面,提供动态Web内容。维护Web应用的状态信息(会话跟踪)。

weixin_29050829的博客 843

5分钟搞定!用Coze+剪映小助手批量生成萌宠视频(附完整工作流配置)

本文详细介绍了如何利用Coze工作流与剪映小助手快速批量生成萌宠视频的完整方案。通过智能内容生成、素材处理、剪辑组装和输出适配四大模块的协同,实现5分钟内完成高质量视频制作。特别适合多宠物账号运营者,工作流支持模板切换和参数修改,大幅提升内容生产效率。

weixin_28678151的博客 389

数据库基础知识大全

在大数据、云计算等概念被广泛提及的今天,数据库作为入门知识,它的重要性想必大家都知道了,今天小编为大家整理了一些数据库的基础知识,快快收藏吧~ 目录: 一、基本概念 二、数据库分类 三、数据库模型 四、数据库语言四大类 五、五个基本的关系代数操作 六、完整性 七、常用关系型数据库 八、国产化数据库 一、基本概念 首先,我们先来辨析一下几个关于数据库的基本概念,什么是 DB ?什么是 DBMS ?他们之间的联系和区别是什么? 1. Data:数据,是数据库中存储的基本...

u012087859的博客 9590

wsl2上运行带有Isaac Gym的程序报错: GPU Pipeline: disabled

显示GPU Pipeline:disabled,查找相关文档发现是WSL2目前不支持Isaac Gym,时,想要在wsl2上运行,最后报错如下。

2303_78660611的博客 957

数据库基础知识整理

数据库基础知识整理

岳来的博客 1万+

STM32之W5500网络通信_w5500 profinet

*初始化8个socket*/setSHAR(ConfigMsg.mac);/*配置Mac地址*/setSUBR(ConfigMsg.sub);/*配置子网掩码*/setSIPR(ConfigMsg.lip);/*配置Ip地址*/setGAR(ConfigMsg.gw);/*配置默认网关*/setRTR(2000);/*设置溢出时间值*/setRCR(3);/*设置最大重新发送次数*/

2501_90250923的博客 1461

Verilog十大基本功2(testbench的设计 文件读取和写入操作 源代码)

需求说明:Verilog设计基础 内容       :testbench的设计 读取文件 写入文件 来自       :时间的诗 十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应。 端口分为 input,output 和 inout 类型产生激励信号的时候, input  对

时间的诗 5万+

JavaWeb(数据库基础)

数据库的增删改查操作

qq_53063293的博客 304

Python 爬虫实战:去哪儿网机票价格爬取与出行比价分析

本文介绍了一个基于Python的机票价格监控系统,通过爬取去哪儿网数据实现多航线查询与智能比价。系统采用requests+BeautifulSoup+selenium技术栈,具备以下功能: 实时查询指定航线价格 历史价格追踪与分析 最低价推荐与价格预警 数据可视化展示 文章详细解析了去哪儿网的页面结构和反爬机制,提供了Selenium浏览器的完整配置方案,并实现了一个可稳定运行的机票采集爬虫。该系统能帮助用户掌握价格波动规律,选择最优购票时机,每年可节省可观的出行成本。

u014481728的博客 667

Javaweb基础学习教程,MySQL数据库详解

这段时间博主也接触了一些事情,感觉有必要专门把JSP的基础拿出来说明一下,因为还是很多人和我说看不懂。 其实写博文真的是挺有挑战性的一件事情,如何把知识点用通俗易懂的语言来表述出来呢?这真的是不太容易的。 首先,写教程需要大量的时间成本,我之前学习JavaWeb的时候,网上搜到的大部分博客,真心话我看不懂。因为那时候的水平太菜了,看视频又嫌太慢。 当时我还喜欢抱怨,说网上那些大牛明明水平很高,可为什么都不肯用大白话把技术点给讲出来呢?当时我记得,遇到问题上网随便一搜,看到的大部分文章,都是代码一贴就完

Javanewspaper的博客 483

[Dify] 如何在Dify中解析上传的TXT文件内容

在Dify平台上构建智能应用时,解析用户上传的.txt文件是关键步骤。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2636

WordPress MasterStudy LMS插件 SQL注入漏洞复现(CVE-2024-1512)

WordPress Plugin MasterStudy LMS 3.2.5 版本及之前版本存在安全漏洞,该漏洞源于对用户提供的参数转义不足,导致可以通过 /lms/stm-lms/order/items REST 路由的 user 参数进行基于联合的 SQL 注入。

0xSec 1437

Javaweb的学习04_DB

Javaweb_DB

m0_74807683的博客 642

高匿反爬实战:Python打造无痕爬虫,规避风控系统追踪

网络层匿踪:核心是使用住宅IP代理池,按真实用户IP画像匹配,控制请求频率;协议层匿踪:动态生成请求头(每次都不同),参数添加随机噪声,避免规律化;行为层匿踪:模拟人类的非规律行为(贝塞尔轨迹、随机停顿、非精准点击);设备层匿踪:伪造Canvas/WebGL指纹,禁用webdriver标识,每次请求更换指纹;核心原则:无痕爬虫的本质是“无限接近真实用户”,所有维度都要消除爬虫特征,而非单一维度伪装。打造真正的无痕爬虫需要全维度的匿踪策略,单一维度的伪装极易被高级风控系统识别。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2641

JavaWeb基础

一、JavaWeb介绍 1.1 什么是JavaWeb Web:全球广域网 JavaWeb:用Java技术来解决相关web互联网领域的技术栈 网页:展示数据 数据库:存储和管理数据 JavaWeb程序:逻辑处理 1.2 课程安排 数据库 MySQL JDBC:一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。 MyBatis:对JDBC操作简化的框架 前端 HTML+CSS JavaScript AJax + Vue + Elem

RogerLuoji的博客 3133

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java开发入行真功夫_Java开发入行真功夫

专家在线指导,实时答疑 面向择业、晋升与再就业人群 注重实践能力与工程思想的培养 任务驱动,大量案例场景贯穿全书 一线开发工程师浓缩多年经验与感悟 全新学习路线Why→HoW→What→Where 本书以介绍JSP网站开发基础技术为主线。重点阐明JSP基本语法,页面指令,taglib、EL、JSTL的使用,以及如何使用JavaBean操作XML和数据库等内容。 以协助程序员真正入行为目标。本书讲解...

weixin_35998791的博客 172

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaWeb-02-MySQL数据库基础学习笔记

JavaWeb-02-MySQL数据库

qq_45498432的博客 251

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JavaWeb基础知识总结概述

目录一.Web应用服务器与Http协议(1)Web概述(2)Tomcat概述(3)Http协议二.JavaWeb三大组件概述(1)Servlet(2)Filter(3)Listener三.Request&Response(1)Request概述(2)Response概述四.会话技术(1)Cookie(2)Session五.JSP&EL&JSTL概述六.数据库(1)概述(2)...

m0_46550452的博客 3977

只会Java 基础好找工作吗?

只会Java 基础好找工作吗?作者:匿名用户链接:https://www.zhihu.com/question/24177391/answer/68862947来源:知乎估计困难啊!!现在所有的公司都在找移动端的开发!!第一阶段:Html+CSS+JavaScript基础HtmlHTML语言,HTML语言背景知识、HTML全局标签、格式标签、文件标签、超链接标签、图像标签、客户端图像地图、表格标签...

一只苟延残喘的卑微蝼蚁 5096

【javaWeb+tomcat+MySQL】综合案例-完整步骤

在本期案例中,我们在idea创建了JavaWeb项目,还完成了apache-tomcat的相关配置,并且验证了用tomcat服务器打开本项目下的.html文件;然后,我们在MySQL新建了一student表,并能在java方法中,顺利进行增删改查的操作。

xjj1128的博客 5562

JavaWeb 数据库的基本概念 MySQL数据库软件 SQL DDL:操作数据库,表

文章目录JavaWeb数据库的基本概念MySQL数据库软件SQLDDL:操作数据库,表 JavaWeb 什么是javaweb? 使用java语言开发互联网项目,简单理解,使用jvaa语言来开网站 数据库的基本概念 数据库的英文单词:datebase 简称DB 什么是数据库? 用于存储和管理数据的仓库 数据库的特点 此句话存数据的。其数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库–SQL MySQL数据库软件 安装 卸载 去mysql的安装目录找到

weixin_54425421的博客 213

java web服务需要哪些基础知识_JavaWeb开发需要学习哪些知识?JavaWeb基础知识总结...

目前,国内外信息化建设已经进入基于Web应用为核心的阶段, Java作为应用于网络的最好语言,前景无限看好。然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情。那么,具备JavaWeb开发能力需要掌握哪些知识?本文,我就来详细说说JavaWeb需要掌握的技术!首先Java基础语法是基础,另外大家对于MySQL、JDBC、HTML和CSS、JavaScript、BootStrap...

weixin_33985453的博客 568
上一篇: Android开发之基础-------XML文件的序列化和解析
下一篇: ***************架构师**********************
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值