• javaweb第一章 mysql数据库


    什么是javaweb?

     

    Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站

    JavaWeb: 是用 Java技术来解决相关web互联网领域的技术栈

    数据库相关概念

    数据库

    存储数据的仓库,数据是有组织的进行存储 英文:DataBase,简称 DB

    数据库管理系统

    管理数据库的大型软件 英文:DataBase Management System,简称 DBMS SQL

    SQL

    英文:Structured Query Language,简称 SQL,结构化查询语言

    操作关系型数据库的编程语言

    定义操作所有关系型数据库的统一标准

    常见的关系型数据库管理系统

    Oracle:收费的大型数据库,Oracle 公司的产品

    MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购

    SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用

    PostgreSQL:开源免费中小型的数据库

    DB2:IBM 公司的大型收费数据库产品

    SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库

    MariaDB:开源免费中小型的数据库

    mysql安装与配置

    下载链接:https://downloads.mysql.com/archives/community/

    下载完成直接解压就可以了

    配置环境变量 :

    电脑属性->高级系统设置->环境变量->新建系统变量MYSQL_HOME 把bin目录的路径创建进去

    然后找到path变量 新增 %MYSQL_HOME%/bin 就可以了

    配置MYSQL 

    创建my.ini 配置文件,将下面内容 输入进去并保存,安装目录记得修改成自己的

    [client]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
     
    [mysqld]
    # 设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=C:\\web\\mysql-8.0.11
    # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
    # datadir=C:\\web\\sqldata
    # 允许最大连接数
    max_connections=20
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    初始化mysql
    
    管理员运行CMD  输入mysqld --initialize --console  就初始化成功了
    这时候会告诉你最开始的密码,一定要复制这个密码,然后修改成新密码
    
    mysqladmin -u用户名 -p旧密码 password 新密码 
    
    然后输入mysqld install  安装mysqld
    
    输入net start mysql 就可以启动数据库了
    输入net stop mysql 就可以停止数据库了
    输入mysql -u root -p登录数据库  

    如果不需要使用了  输入 exit 或者quit退出就可以了

    Mysql 数据模型

    SQL

    SQL概述

    英文:Structured Query Language,简称 SQL 结构化查询语言,一门操作关系型数据库的编程语言

    定义操作所有关系型数据库的统一标准

    对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”

    SQL通用语法

    SQL 语句可以单行或多行书写,以分号结尾。

    MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

    注释 单行注释: -- 注释内容 或 #注释内容(MySQL 特有) 多行注释: /* 注释 */

    SQL分类

    DDL(Data Definition Language) 数据定义语言,用来定义数据库对象:数据库,表,列等

    DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

    DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

    DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

    DDL 定义数据库对象:数据库,表,列等

    数据库:

     创建表(Create)

    create table tb_user(

    id int,

    username varchar(20),

    password varchar(32)

    );

    数据类型  

    分为三类:数值,日期,字符串

     double(5,2) 表示定义的类型为0-100,  小数点后两位

    练习:需求:设计一张学生表,请注重数据类型、长度的合理性

    1.编号

    2.姓名,姓名最长不超过10个汉字

    3.性别,因为取值只有两种可能,因此最多一个汉字

    4.生日,取值为年月日

    5.入学成绩,小数点后保留两位

    6.邮件地址,最大长度不超过 64

    7.家庭联系电话,不一定是手机号码,可能会出现 - 等字符

    8.学生状态(用数字表示,正常、休学、毕业...)

    create table student(

    id int,

    name varchar(10),

    sex char(1),

    birthday date,

    score double(5,2),

    mail varchar(64),

    tel varchar(15),

    status tinyint

    );

    先写在记事本上然后复制到cmd就可以了

    查询表(Retrieve)

    修改表(Update)

    删除表(Delete)

     Navicat 安装使用

    DML 操作数据

    添加(insert)

    2:也就是说 给所有列添加数据时可以省略列名

    修改数据(update)

    UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;

    update stu set sex ='女' where name ='张三';

    注意:修改语句中如果不加条件,则将所有数据都修改!

    删除(delete)

    DELETE FROM 表名 [WHERE 条件] ;

    注意:修改语句中如果不加条件,则将所有数据都删除!

    DQL

    基础查询

    3:

    select name as 名字 from stu;

    这时候name就会显示成名字

    条件查询

     “并且”一般都用and 不用 &&

    “或者”  可以直接不用符号连接,一般用or  

    简写:select *from stu where age in(18,20,22);  选择出年龄为18或者20,或者22的学生

    注意:null值的比较不能使用=  ,!=  需要使用is  ,is not

    select * from stu where english is null;

    like模糊查询 _代表单个任意字符 %代表任意个任意字符

    查询姓马的学生

    select * from stu where name like '马%';

    查询第二个字是花的学生

    select * from stu where name like '_花%';

    查询名字中包含德的学生

    select * from stu where name like '%德%';

    排序查询(order by)

    查询学生信息,按照数学成绩降序排列,如果数学成绩一样,再按照英语成绩升序排列

    select * from stu order by math desc,english asc;

    聚合函数

    统计班里所有学生

    select count(id) from stu; 

    count 统计的列名不能为null  一般括号里我们填 主键或者* 

    分组查询(group by)

    1.查询 男同学和女同学的各自平均分

    select sex,avg(math) from stu group by sex;

    2.查询男同学跟女同学的数学各自平均分,低于70分的不参与分组

    select sex ,avg(math),count(*) from stu where math >70 group by sex;

    3.查询男同学跟女同学的数学各自平均分,低于70分的不参与分组,分组之后人数需要大于2

    select sex ,avg(math),count(*) from stu where math >70 group by sex having count(*) >2;

    分页查询(limit)

     select * from stu limit 0,3;  每页显示三条数据,查询第一页

    select*from stu limit 3,3 每页显示三条数据 查询第二页数据

    所以公式  起始索引= (当前页码-1)*每页显示条数

    小结:

    IDEA 连接并使用数据库  

    IDEA右边栏有个database 

    点击加号  选择mysql 得到以下画面

     

    填好用户名跟密码,以及对应的数据库 就可完成连接

    连接好后 可以直接在控制台运行语句

  • 相关阅读:
    线程间实现通信的几种方式
    Nginx的代理和负载均衡
    供应试剂mPEG-Methacrylate,mPEG-MAC,CAS:26915-72-0
    Docker 下 Kibana 安装与配置
    C++ 二维前缀和 子矩阵的和
    PHP表单处理的案例分析
    使用 Express 设置 GraphQL
    代码随想录图论|130. 被围绕的区域 417太平洋大西洋水流问题
    gulp打包vue3+jsx+less插件
    aop-动态代理,cglib动态代理,面向切面编程,aop的实现方法
  • 原文地址:https://blog.csdn.net/m0_73859807/article/details/127382120