MySQL数据库

【狂神说Java】MySQL最新教程通俗易懂:https://www.bilibili.com/video/BV1NJ411J79W/

1 初识MySQL

1.1 介绍

1.学会写代码,学好数据库。
2.操作系统,数据结构与算法。
3.离散数学,数字电路,体系结构,编译原理。

1.2 什么是数据库

数据库(DB,DataBase),存储数据,管理数据

1.3 数据库分类

关系型SQL:
MySQL、Oracle、SqlServer、DB2、SQLlite
非关系型数据库NoSQL(Not Only SQL):
Redis、MongoDB

DBMS数据库管理系统

1.4 MySQL

MySQL:是一个关系型数据库管理系统,开源的数据库软件

1.5 安装MySQL:

下载绿色版
mysqld -install
mysqld --initialize-insecure --user=mysql
net start mysql
mysql -u root -p
update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost';
flush privileges;
net stop mysql
启动停止MySQL服务:
net start mysql
mysql -u root -p
net stop mysql

创建数据库和表(SQLyog):
创建数据库,基字符集utf8,数据库排序规则utf8_general_ci
创建表,引擎InnoDB,符集utf8,核对utf8_general_ci

9 规范数据库设计

9.1 为什么需要设计

9.2 数据库的三大范式

第一范式:原子性,保证每一列不可再分
第二范式:前提满足第一范式,每张表只描述一件事情
第三范式:前提满足第一范式和第二范式,确保数据表中每一列数据都和主键直接相关,而不能间接相关。
规范性和性能的问题:(关联查询的表不得超过三张表)
考虑商业化需求和目标,数据库的性能更重要
在性能问题的时候,需要适当考虑一下规范性
故意给某些表增加一些冗余的字段,从多表查询变为单表查询
故意增加一些计算列,从大数据量降低为小数据量的查询,索引

10 JDBC(重点)

JDBC(Java Database Connectivity):Java操作数据库的规范,这些规范的实现由具体的厂商实现。
java.sql
javax.sql
mysql-connector-java-5.1.47.jar

10.3 第一个JDBC程序

1.创建测试数据库
2.导入数据库驱动
新建lib文件夹,复制粘贴mysql-connector-java-5.1.47.jar
add as library
3.编写测试代码

package com.liweixiao.lesson01;

import java.sql.*;

/**
 * @author:LiWeixiao
 * @date:2023/3/29
 * @description:第一个jdbc程序
 */
public class JdbcFirst {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.用户信息和url
        //useUnicode支持中文编码,characterEncoding设置编码格式为utf8,useSSL使用安全连接
        String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String username="root";
        String password="123456";
        //3.连接成功,数据库对象
        Connection connection = DriverManager.getConnection(url, username, password);
        //4.执行sql对象
        Statement statement = connection.createStatement();
        //5.执行sql,查看结果
        String sql="SELECT * FROM users";
        ResultSet resultSet = statement.executeQuery(sql);
        while (resultSet.next()){
            System.out.println("id:"+resultSet.getObject("id"));
            System.out.println("name:"+resultSet.getObject("name"));
            System.out.println("password:"+resultSet.getObject("password"));
            System.out.println("email:"+resultSet.getObject("email"));
            System.out.println("birthday:"+resultSet.getObject("birthday"));
            System.out.println("*****************");
        }
        //6.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}
posted @   LiWeixiao  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示