栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库入门

初识数据库
  • 1.数据库介绍
    • 1.1 什么是数据库
    • 1.2 一些名词解释
    • 1.3 数据库学习内容
  • 2. 数据库的操作
    • 2.1 显示当前的数据库
    • 2.2 创建数据库
    • 2.3 使用数据库
    • 2.4 删除数据库
  • 3. 常用数据类型
    • 3.1 数值类型
    • 3.2 字符串类型
    • 3.3 日期类型
  • 4. 表的操作
    • 4.1 查看表结构
    • 4.2 创建表
    • 4.3 删除表
  • 5. 总结

1.数据库介绍 1.1 什么是数据库

存储数据用文件就可以了,为什么还需要数据库呢?
用文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

使用数据库来为了解决上述问题,它能够跟有效地管理数据。数据库可以提供远程服务,通过远程连接来使用数据库,因此也称为数据库服务器。

1.2 一些名词解释

服务器:

  1. 硬件: 提供远程主机的服务
  2. 软件: 网络上提供服务的软件
    (1)数据库服务器:提供管理数据(增删改查)的服务给远程来管理。
    (2)Web服务器:提供Web(浏览器访问)提供的远程服务。

服务端:
数据库服务器就是数据库服务端(软件)。

客户端:
需要通过客户端先连接到服务端,来操作数据。
如果(客户端)连接到远程的数据库服务器(服务端),数据都是保存在服务端。

数据库和数据结构的区别:
数据库:数据保存在硬盘
数据结构:数据保存在内存

硬盘和内存的区别:

  1. 硬盘大,内存小。
  2. 内存的成本相对于硬盘更高。
  3. 内存中的数据,不用担心断电的问题。
  4. 内存访问速度更快,硬盘中的数据访问及保存要慢很多。
1.3 数据库学习内容

(1)设计数据库表结构----类似数据结构中,要保存对象时,定义对象的属性。
(2)SQL语句(增删改查)
(3)通过Java来操作数据库

2. 数据库的操作 2.1 显示当前的数据库
show databases;
2.2 创建数据库

语法:

create database [if not exisis] db_name [create_specification[,create_specification]...]

create_specification:
[default] character set charset_name
[default] collate collation_name

说明:

  • 大写的表示关键字
  • []是可选项
  • character set:指定数据库采用的字符集
  • collate:指定数据库字符集的校验规则

示例:

  • 创建名为db_test1的数据库
create database db_test1;

说明: 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf-8

  • 如果不存在名为db_test2的数据库,则创建一个名叫db_test2的数据库,如果存在则不创建
create database if not exists db_test2;
  • 如果系统没有db_test的数据库,则创建一个使用utf8mb4字符集的do_test数据库,如果有则不创建
create database if not exists db_test character set utf8mb4;

注意:

  • 我们在创建的时候常常结合if not exists 来操作,避免报错,如果不存在才创建,已经存在的话就不做任何操作。
  • MYSQL的utf8编码不是真正的utf8编码,其中没有包含某些复杂的中文字符。MYSQL真正的utf8是使用utf8mb4。
2.3 使用数据库
use 数据库名;
2.4 删除数据库

语法:

drop database [if exists] db_name;

注意:

  • 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
  • 删除常常结合if exists 来操作,避免报错,如果存在才删除,没有就不做任何操作。
drop database if exists db_test1;
drop database if exists db_test2;
3. 常用数据类型 3.1 数值类型
数据类型大小说明对应java类型
bit[(M)]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围: 0 − 2 M − 1 0-2^M-1 0−2M−1,适合存储只有两个值的数据Boolean
tinyInt1字节Byte
smallInt2字节Short
Int4字节Integer
bigInt8字节Long
float(M,D)4字节单精度,M指定长度,D指定小数位数,会发生精度丢失。Float
double(M,D)8字节Double
decimal(M,D)M/D最大值+2双精度,M指定长度,D表示小数点位数,精确数值。BigDecimal
numeric(M,D)M/D最大值+2和demical一样BigDecimal
3.2 字符串类型
数据类型大小说明对应Java类型
varchar(size)0-65,535字节可变长度字符串String
text0-65,535字节长文本数据String
mediumtext0-16777215字节中等长度文本数据String
blob0-65,535字节二进制形式的长文本数据byte[]

说明:

  • 对于字符串的存储,比较小的话就使用varchar;比较多的长文本使用text,更长可以使用mediumtext。
  • 对于二进制数据,如文件,视频,音乐等等,一般不在数据库中存储(网络流量有限,假如把文件保存在数据库,那么花费在文件数据传输的流量就会多,真实的数据传输速度下降,一般是把文件存储在专门的文件服务器上)
3.3 日期类型
数据类型大小说明对应Java类型
datetime8字节范围从1000到9999年,不会进行时区的检索及转换 ,即不带时区java.util.Date、java.sql.Timestamp
timestamp4字节范围从1970到2038年,自动检索当前时区并进行转换,即带时区java.util.Date、java.sql.Timestamp

说明:MYSQL中也自带了一些日期的函数/变量:now()表示当前日期,日期包含:年月日时分秒毫秒

  1. 插入,where条件查询,使用日期的时候,建议带’当做字符串查询。
  2. 格式:yyyy-MM-dd HH:mm:ss(默认)。
4. 表的操作

需要操作数据库中的表时,需要先使用该数据库:

use db_test;
4.1 查看表结构

显示当前数据库中的所有表

show tables;

显示表的结构

desc 表名;


数据库与Java的对应关系

4.2 创建表

语法:

create table table_name(
field1 datatype,
field2 datatype,
field3 datatype
);

可以使用comment增加字段说明
示例:

create table stu_test(
id int,
name varchar(20) comment '姓名',
password varchar(50) comment '密码',
age int,
sex varchar(1),
birthday timestmp,
amout decimal(13,2),
resume text
);

注意:最后的字段不要带" , "

4.3 删除表

语法格式:

drop [temporary] table [if exists] tbl_name [, tbl_name]

示例:

--删除 stu_test表
drop table stu_test;
--如果存在 stu_test表,则删除 stu_test表
drop table if exists stu_test;
5. 总结

SQL注意事项:

  1. 在命令行工具写sql时,最后;表示结束整个语句
    本质是输入;+回车,客户端才会发送sql语句到服务器,由服务端执行这条语句。
  2. sql的注释 – 注释内容(–后面要有一个空格)
    创建表时使用comment,可以加在表、字段上,可以在表结构中看到。
  3. 写sql时,表名、字段名尽量避免使用关键字,如果是关键字,在前后加’,如表名desc,创建时就应该写成create table ‘desc’ stu_test。
  4. 字符串,都需要使用单引号’字符串内容’。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号