当前位置: 首页 > news >正文

Java学习笔记-零基础学MySQL(一)

19.1 MySQL安装及连接

  1. 安装数据库

    在这里插入图片描述

  2. 命令行连接MySQL

    使用net stop/start mysql时要管理员运行cmd

    在这里插入图片描述

  3. 操作示意图

    在这里插入图片描述

19.2 图形化MySQL管理软件

19.1.1 Navicat 安装

在这里插入图片描述

19.1.2 SQLyog 安装

在这里插入图片描述

二选一即可

19.3 数据库基本介绍

19.3.1 数据库三层结构

  1. 所谓安装MySql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(Database Manage System)

  2. 一个数据库可以创建多个表,以保存数据(信息)

  3. 数据库管理系统(DBMS),数据库和表的关系如图所示

    在这里插入图片描述

19.3.2 数据的存储方式

在这里插入图片描述

19.3.3 SQL 语句分类

SQL语句,根据其功能,主要分为四类:DDLDMLDQLDCL

分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限

在这里插入图片描述

19.4 数据库相关操作

19.4.1 创建数据库

在这里插入图片描述

# 演示数据库的操作
#创建一个名称为hsp_db01的数据库。[图形化和指令 演示]#使用指令创建数据库
CREATE DATABASE hsp_db01;
#删除数据库指令
DROP DATABASE hsp_db01
#创建一个使用utf8字符集的hsp_db02数据库
CREATE DATABASE hsp_db02 CHARACTER SET utf8
#创建一个使用utf8字符集,并带校对规则的hsp_db03数据库
CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin
#校对规则 utf8_bin 区分大小 默认utf8_general_ci 不区分大小写#下面是一条查询的sql , select 查询 * 表示所有字段 FROM 从哪个表
#WHERE 从哪个字段 NAME = 'tom' 查询名字是tom
SELECT *  FROM t1 WHERE NAME = 'tom'

19.4.2 查看、删除数据库

在这里插入图片描述

#演示删除和查询数据库
#查看当前数据库服务器中的所有数据库
SHOW DATABASES
#查看前面创建的hsp_db01数据库的定义信息
SHOW CREATE DATABASE `hsp_db01`
#老师说明 在创建数据库,表的时候,为了规避关键字,可以使用反引号解决#删除前面创建的hsp_db01数据库
DROP DATABASE hsp_db01

19.4.3 备份恢复数据库及表

  1. 备份恢复数据库

    在这里插入图片描述

    #练习 : database03.sql 备份hsp_db02 和 hsp_db03 库中的数据,并恢复#备份, 要在Dos下执行mysqldump指令其实在mysql安装目录\bin
    # 这个备份的文件,就是对应的sql语句
    mysqldump -u root -p -B hsp_db02 hsp_db03 > d:\\bak.sqlDROP DATABASE ecshop;#恢复数据库(注意:进入Mysql命令行再执行)
    source d:\\bak.sql
    #第二个恢复方法, 直接将bak.sql的内容放到查询编辑器中,执行
    
  2. 备份及恢复数据库中的表

    在这里插入图片描述

19.4.4 创建表

在这里插入图片描述

#指令创建表
#注意:hsp_db02创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user表 (快速入门案例 create_tab01.sql )
CREATE TABLE `user` (id INT, `name` VARCHAR(255),`password` VARCHAR(255), `birthday` DATE
) CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;

19.4.5 字段数据类型

在这里插入图片描述

1. 整数的基本使用

在这里插入图片描述

#演示整型的是一个
#老韩使用tinyint 来演示范围 有符号 -128 ~ 127  如果没有符号 0-255
#说明: 表的字符集,校验规则, 存储引擎,老师使用默认
#1. 如果没有指定 unsinged , 则TINYINT就是有符号
#2. 如果指定 unsinged , 则TINYINT就是无符号 0-255
CREATE TABLE t3 (id TINYINT);
CREATE TABLE t4 (id TINYINT UNSIGNED);INSERT INTO t3 VALUES(127); #这是非常简单的添加语句
SELECT * FROM t3INSERT INTO t4 VALUES(255);
SELECT * FROM t4;
2. bit 的使用

在这里插入图片描述

#演示bit类型使用
#说明
#1. bit(m) m 在 1-64
#2. 添加数据 范围 按照你给的位数来确定,比如m = 8 表示一个字节 0~255
#3. 显示按照bit ,即二进制显示
#4. 查询时,仍然可以按照数来查询
CREATE TABLE t05 (num BIT(8));
INSERT INTO t05 VALUES(255); 
SELECT * FROM t05;
SELECT * FROM t05 WHERE num = 1;
3. 小数的基本使用

在这里插入图片描述

#演示decimal类型、float、double使用#创建表
CREATE TABLE t06 (num1 FLOAT,num2 DOUBLE,num3 DECIMAL(30,20));
#添加数据
INSERT INTO t06 VALUES(88.12345678912345, 88.12345678912345,88.12345678912345);
SELECT * FROM t06;#decimal可以存放很大的数
CREATE TABLE t07 (num DECIMAL(65));
INSERT INTO t07 VALUES(8999999933338388388383838838383009338388383838383838383);SELECT * FROM t07;
CREATE TABLE t08(num BIGINT UNSIGNED)
INSERT INTO t08 VALUES(8999999933338388388383838838383009338388383838383838383);
SELECT * FROM t08;
4. 字符串的基本使用
  1. 基本介绍

    注意:下面是varchar是可以存储的最大字节是65532字节,但是varchar(5)表示可以存五个字符,但是其占用的字节要根据编码不同来计算。如果编码为gbk时,一个字符占两个字节,因此varchar可存储的最大字符数为( 65535 - 3 )/ 2 = 32766个字符,则在gbk编码格式下最多只能写varchar(32766)

    在这里插入图片描述

    #演示字符串类型使用char varchar
    -- CHAR(size)
    -- 固定长度字符串 最大255 字符 
    -- VARCHAR(size)    0~65535字节
    -- 可变长度字符串 最大65532字节  【utf8编码最大21844字符 1-3个字节用于记录大小】
    -- 如果表的编码是 utf8 varchar(size) size = (65535-3) / 3 = 21844
    -- 如果表的编码是 gbk varchar(size) size = (65535-3) / 2 = 32766
    CREATE TABLE t09 (`name` CHAR(255));CREATE TABLE t10 (`name` VARCHAR(32766)) CHARSET gbk;DROP TABLE t10;
    
  2. 注意事项

    在这里插入图片描述

    在这里插入图片描述

    #演示字符串类型的使用细节
    #char(4) 和 varchar(4) 这个4表示的是字符,而不是字节, 不区分字符是汉字还是字母
    CREATE TABLE t11(`name` CHAR(4));
    INSERT INTO t11 VALUES('韩顺平好');SELECT * FROM t11;CREATE TABLE t12(`name` VARCHAR(4));
    INSERT INTO t12 VALUES('韩顺平好');
    INSERT INTO t12 VALUES('ab北京');
    SELECT * FROM t12;#如果varchar 不够用,可以考试使用mediumtext 或者longtext, 
    #如果想简单点,可以使用直接使用text
    CREATE TABLE t13( content TEXT, content2 MEDIUMTEXT , content3 LONGTEXT);
    INSERT INTO t13 VALUES('韩顺平教育', '韩顺平教育100', '韩顺平教育1000~~');
    SELECT * FROM t13;
    
5. 日期类型的基本使用

在这里插入图片描述

#演示时间相关的类型
#创建一张表, date , datetime , timestamp
CREATE TABLE t14 (birthday DATE , -- 生日job_time DATETIME, -- 记录年月日 时分秒login_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); -- 登录时间, 如果希望login_time列自动更新, 需要配置SELECT * FROM t14;
INSERT INTO t14(birthday, job_time) VALUES('2022-11-11','2022-11-11 10:10:10');
-- 如果我们更新 t14表的某条记录,login_time列会自动的以当前时间进行更新

19.4.6 修改表

  1. 基本介绍

    在这里插入图片描述

  2. 举例说明
    在这里插入图片描述

    #修改表的操作练习
    --  员工表emp的上增加一个image列,varchar类型(要求在resume后面)。
    ALTER TABLE emp ADD image VARCHAR(32) NOT NULL DEFAULT '' AFTER RESUME
    DESC employee -- 显示表结构,可以查看表的所有列
    --  修改job列,使其长度为60。
    ALTER TABLE emp MODIFY job VARCHAR(60) NOT NULL DEFAULT ''
    --  删除sex列。
    ALTER TABLE emp DROP sex
    --  表名改为employee。
    RENAME TABLE emp TO employee
    --  修改表的字符集为utf8 
    ALTER TABLE employee CHARACTER SET utf8
    --  列名name修改为user_name
    ALTER TABLE employee CHANGE `name` `user_name` VARCHAR(64) NOT NULL DEFAULT ''
    DESC employee
    
  3. 注意事项

    1. modify用于修改表属性,而不能修改列名(字段名),而change用于修改列名,同时修改属性

文章转载自:

http://XeiazTMA.mhLkc.cn
http://w1mHHyl0.mhLkc.cn
http://zEGtCX8n.mhLkc.cn
http://bVaXBvXi.mhLkc.cn
http://SrB9jf5Y.mhLkc.cn
http://mFH03yGE.mhLkc.cn
http://6cbITub6.mhLkc.cn
http://r9zIg8ve.mhLkc.cn
http://iWZOZ2t1.mhLkc.cn
http://qxlUqRB8.mhLkc.cn
http://7Hdclnnz.mhLkc.cn
http://snU19trQ.mhLkc.cn
http://4m3MlvDC.mhLkc.cn
http://xCnyFZyO.mhLkc.cn
http://iQb4A747.mhLkc.cn
http://AunRukIe.mhLkc.cn
http://QLJhOgwz.mhLkc.cn
http://tcJWhNI8.mhLkc.cn
http://Vr7c05bd.mhLkc.cn
http://FUoLukbC.mhLkc.cn
http://WkcBnGly.mhLkc.cn
http://K2P11H4u.mhLkc.cn
http://Lhru2tk8.mhLkc.cn
http://inGiMvuP.mhLkc.cn
http://l2igV14b.mhLkc.cn
http://6ZG1CfTZ.mhLkc.cn
http://iSdTKcoq.mhLkc.cn
http://IOwSzazG.mhLkc.cn
http://AUcnVPXe.mhLkc.cn
http://IOCsF87H.mhLkc.cn
http://www.dtcms.com/a/363130.html

相关文章:

  • VR森林经营模拟体验带动旅游经济发展
  • 【本地知识库问答系统】MaxKB搭建本地知识库问答系统
  • AI行业应用:金融、医疗、教育、制造业的落地案例全解析
  • AI 设计工具天花板
  • 黄金金融期货数据API对接技术文档
  • 版本回退之git
  • PDF翻译怎么弄?一篇文章告诉你答案
  • Python分布式消息队列高并发处理与可靠性保障实战
  • 告别手动复制粘贴:C# 实现 Excel 与 TXT 文本文件高效互转
  • Visual Studio Code 中为Copilot 添加 Bright Data 的 Web MCP
  • 【Vue】前端 vue2项目搭建入门级(一)
  • 量子電腦組裝之二
  • ECMWF数据批量下载(Windows版本)
  • NLP×第六卷:她给记忆加了筛子——LSTM与GRU的贴靠机制
  • A股大盘数据-20250902分析
  • 微服务的编程测评系统19-我的消息功能-竞赛排名功能
  • 通义万相Wan2.2-S2V-14B:AI视频生成的革命性突破与实践指南
  • 解决Elasticsearch高亮显示被横线截断的问题
  • 食品分类案例
  • 使用云手机进行游戏搬砖划算吗?
  • 2025年09月02日Github流行趋势
  • 在云手机中游戏可以自动更新吗?
  • 深入浅出 RabbitMQ-消息可靠性投递
  • python常用脚本2——opencv读写中文路径
  • Java 中的抽象工厂设计模式​
  • Claude Code SDK 配置Gitlab MCP服务
  • 《多模态与 AIGC:最火的 AI 应用方向》
  • 线扫相机搭配显微镜:解锁微观世界的 “全景高清” 观察模式
  • [光学原理与应用-366]:ZEMAX - 用成像原理说明人眼为什么能看清物体?
  • Java面试实战系列【JVM篇】- JVM内存结构与运行时数据区详解(共享区域)