mysql第一天

目录

前言

一、数据库相关概念

1.1、什么是数据?

1.2、计算机中如何存储数据?

1.3什么是数据库(Database)?

1.4什么是数据库管理系统(DBMS)?

1.5什么是数据库系统(DBS)

1.6数据库管理系统的基本架构

二、登陆和登出MySQL数据库

数据库中的SQL简介

SQL是什么?(What)

SQL用在哪里?(Where)

为什么要使用SQL呢?(Why)

如何使用SQL呢?(How)

SQL的常见分类?

数据库的基本操作(DDL)

查看所有数据库

创建数据库

删除数据库

打开数据库

语法增强(拓展)

数据库中表的操作(DDL)

查看数据库中的所有表?

创建表(Table)

修改表(Table)

删除表(Table)

小练习(homework)

练习题目

练习答案

今日总结(Summary)

重难点分析

常见问题分析(FAQ)

常见错误(Bug)

总结


前言

掌握数据库相关概念
掌握 MySQL 数据库常用指令
掌握 SQL 的类型以及核心操作
掌握如何通过 JDBC 访问数据库

掌握数据库相关的一些核心概念(Data,Database,DBMS,DBS,DBA).

掌握 MySQL 数据库安装的基本过程 ( 了解 )
掌握如何登陆登出 MySQL 以及常用基本指令应用 .
掌握 SQL 的基本概念以及分类 .
掌握如何创建 / 修改 / 删除数据库 .
掌握如何创建 / 修改 / 删除表 .

一、数据库相关概念

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1.1、什么是数据?

早期的计算器就是用于科学计算 , 当时可以处理的数据只有数值型 ( 整数 , 浮点数 ).
现在计算机可以处理的数据已经不局限于数值型了 , 还包括文字 , 图片 , 音频 , 视频

1.2、计算机中如何存储数据?

内存中存储数据可以通过变量 .
磁盘中存储数据可以通过文件 .
数据库中存储数据可以通过表格等方式进行实现 .

1.3什么是数据库(Database)?

存储数据的仓库,是大量数据的集合.
可以有组织,持久性,可共享的存储一些数据.

1.4什么是数据库管理系统(DBMS)?

软件 
数据库管理软件
安装和运行在操作系统之上

1.5什么是数据库系统(DBS)

是一个总称
包括数据库,数据库管理系统,应用程序(Java/Go/...),数据库管理员(DBA)

1.6数据库管理系统的基本架构

Client/Server架构
Client包括一些工具(数据库自带客户端,Idea,SQLYog,...)和应用程序(JDBC)
Server就是一个服务进程(可以理解为java中的ServerSocket)

二、登陆和登出MySQL数据库

2.1Client/Server 架构
2.2企业级服务应用架构

 1.3直接通过mysql自带客户端实现

登陆本地服务器 : mysql -uroot -p
登陆远端服务器 : mysql -u 用户名 -h 远端服务 ip 地址 -P 端口号 -p
登出 exit
1.4通过 idea 实现图形化界面连接
  • 第一步:打开idea中的database,选择要链接的数据库

  • 第二步:配置连接数据库的选项 

其中连接数据库的 url 如下 ( 先理解为固定格式 )
jdbc:mysql://localhost:3306/mysql?serverTimezone=Asia/Shanghai&characterEncoding=utf8

数据库中的SQL简介

SQL是什么?(What)

  • 一种编程语言

  • SQL是Structured Query Language的缩写,翻译成中文一种结构化查询语言。

  • 是与数据库进行交互的一种标准,但是不同数据库会有基于SQL的一些不同实现。

SQL用在哪里?(Where)

  • 创建数据库以及数据库中的对象(例如表-Table)

  • 读取数据库中的数据(以行为单位,一行数据我们称之为一条记录,一条记录有多列【数据项】构成。)

  • 更新数据库中的数据(更新记录,这里的更新可以是插入,修改,删除)

为什么要使用SQL呢?(Why)

  • SQL是操作数据库中数据的标准。

  • SQL是客户端应用程序与数据库服务器进行交互的工具。

如何使用SQL呢?(How)

  • SQL有那些类型?

  • 不同类型SQL的基本语法是怎样的?

  • 基于业务选择不同的SQL进行应用。

SQL的常见分类?

  • DDL: 数据定义语言,用于操作(create、alter、drop)数据库对象(数据库,表,视图,索引,...)。

  • DML: 数据操纵语言,用于操作(添加、修改、删除、查询)表中数据。

  • DQL: 数据查询语言,用于查询数据库表中的数据。

数据库的基本操作(DDL)

查看所有数据库

show databases;

创建数据库

简易语法;

create database [if not exists] 数据库的名字 [编码方式]
案例演示【登录用户需要有创建数据库的权限】

创建一个名字为JSDTN2306的数据库;
create database if not exists jdstn2306 -- 数据库名(由多个单词构成时建议使用下划线隔开)
character set utf8mb4; -- 这个字符集是在移动互联网出现后加进去的,可以存储一些表情符,最大长度是4
创建一个名字为JSDVN2306的数据库;
create database jdstn2306;

删除数据库

语法

drop database [if exists] 数据库名字;
案例演示

删除jsdvn2306这个数据库
drop database if exists jsdvn2306;

打开数据库

语法

use 数据库的名字; -- 也可以理解为切换数据库
案例演示

use jsdTN2306;
use jsdVN2306;

语法增强(拓展)

如何获取创建数据库的详细语法?

help 'create database'; -- 表示获取数据库一些帮助,在命令行行可以用?替换
官方给出的语法:(中括号[]括起来的是可选,{|}括起来的是必须要选一个的)

CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
  [create_specification] ...

create_specification:
  [DEFAULT] CHARACTER SET [=] charset_name
 | [DEFAULT] COLLATE [=] collation_name
 | COMMENT [=] 'comment'

案例演示:

create or replace database db1 
character set utf8mb4  -- 存储数据的字符集
COLLATE  utf8mb4_general_ci -- 校对和排序字符的规则
COMMENT 'first database' -- 注释
查看创建数据库的语句:

show create database db1;
如何获取删除数据库的详细语法?

help 'drop database'; -- 表示获取数据库一些帮助,在命令行行可以用?替换
其官方语法如下:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

数据库中表的操作(DDL)

查看数据库中的所有表?

show tables;  -- 执行此指令之前要先打开数据库(use 数据库的名字)

创建表(Table)

  • 简易语法

create table 表名
(
  字段名1 字段类型 [字段约束] [注释],
  字段名2 字段类型 [字段约束] [注释]
);
  • 案例演示

   create table class
   (
     id int primary key comment '班级id', -- primary key 主键约束(id的值必须唯一且不能为null)
     name varchar(30) comment '班级名称',-- varchar表示变长字符类型,30表示字节数
     create_date date comment '创建日期' -- date 表示日期类型
   );

查看创建表的SQL:

show create table class;

修改表(Table)

  • 修改字段(了解),这里需要借助alter语句

-- 修改create_date名字为create_time,类型为datetime类型
alter table class change create_date create_time datetime;
-- 添加一个update_time,类型为date类型
alter table class add update_time date after create_time; -- after表示在谁之后
-- 删除表中的update_time字段
alter table class drop update_time
  • 修改表的名字(了解),一般可以借助一些图形用户界面工具进行修改。

rename table class to tb_class

删除表(Table)

  • 简易语法

drop table 表的名字
  • 案例演示

drop table tb_class;

小练习(homework)

练习题目

  • 创建一个数据库,名字为JSD,编码为utf8;

  • 在创建库中创建两张表,一张班级表(class),一张学生表(student)。

  • 在班级表中添加一个字段,字段名为update_time,字段类型为date类型 (自己查alter指令)

  • 学生表中包括学生id,学生姓名,出生日期(birthday)

练习答案

创建一个数据库,名字为JSD,编码为utf8;

create database if not exists jsd character set utf8mb4;
在创建库中创建两张表,一张班级表(class),一张学生表(student)。

use jsd;
-- 创建班级表
create table class
(
    id int primary key comment '班级id', -- primary key 主键约束(id的值必须唯一且不能为null)
    name varchar(30) comment '班级名称',-- varchar表示变长字符类型,30表示字节数
    create_date date comment '创建日期' -- date 表示日期类型
);
-- 在班级表中添加一个update_date字段,类型为date类型,字段位置在create_date后面
alter table class add update_date date after create_date;
-- 创建学生表
create table student
(
    id int comment '学生id',
    name varchar(50) comment '学生姓名',
    birthday date comment '出生日期',
    primary key (id) -- 也可以这样设置主键
);

今日总结(Summary)

重难点分析

  • 数据库的基本概念。

  • 登录、登出数据库。

  • SQL语句简介以及分类。

  • 基于SQL中的DDL语句操作数据库和表。

常见问题分析(FAQ)

  • 计算机中何为数据?(数字,文本,音频,视频,图片)

  • 什么是数据库?(存储数据的一个仓库)

  • 什么是数据库管理系统?(一个管理数据库的软件,它可以管理多个数据库)

  • 什么是数据库系统?(数据库,数据库管理系统,DBA等相关对象的总称)

  • 你知道有哪数据库管理系统?(MySQL,MariaDB,Oracle,GaussDB,OpenGauss,...)

  • 你知道连接MySQL的客户端工具有哪些?(MySQL自带客户端,Idea,SqlYog,...)

  • MySql数据库管理系统的基本架构是怎样的?(Client/Server)

  • MySql客户端与服务端通讯使用的是什么协议?(TCP/IP)

  • MySQL自带客户端连接数据库的语法是怎样的?(mysql -u用户名 -P端口号 -h ip地址 -p)

  • 退出MySQL用什么指令?(exit,强制退出还可以使用ctrl+c)

  • window平台下的清屏指令是什么?cls

  • 如何创建、打开、删除数据库?(create database ....,use database,drop database ...)

  • 如何查看有哪些数据库?(show databases)

  • 如何查看数据库编码字符集以及对应的一些校对规则?(show character set like '%utf8%')

  • 如何查看数据库中有哪些表? (show tables)

  • 如何创建、删除表?(create table ...,drop table ...)

常见错误(Bug)

  • 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题原因:

在当前目录没有找到mysql这个指令,同时环境变量path也没有配置mysql.

解决方案:

1) 确保安装了mysql
2) 确保是否配置mysql的环境变量(假如没有可以配置,在环境变量path后面追加mysql安装目录/bin)
3) 不配置环境变量可以切换到mysql安装目录的bin目录去执行。
  • Can't create database 'jsd2306'; database exists

问题原因:

这个问题表示已经创建过jsd2306这个数据库。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老学长Java开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值