目录
前言
掌握数据库相关概念掌握 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数据库
1.3直接通过mysql自带客户端实现
- 第一步:打开idea中的database,选择要链接的数据库
- 第二步:配置连接数据库的选项
数据库中的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提供了大量能使我们快速便捷地处理数据的函数和方法。