数据库的基本操作

数据库的背景知识:

1.结构说明:Mysql是客户端—服务器结构的程序。

2.数据时存储在服务器硬盘上的。

数据库的线性描述:数据库服务器-->多个数据库-->多个数据表-->多个记录行-->多个记录列


关于MySQL数据库的基本操作:

小贴士:1.MySQL编写时,是不会区分大小写的,所以大家大写小写都可以,大小写混用也是没问题的。2.注意,所有的标点符号,必须是键盘在英文模式下的。

 

1.查看所有数据库:语法 :show databases;

如图,我们查看到的就是所有之前已经创建的数据库。


2.数据库的创建:语法:create database 数据库名称;

如图所示,我们创建了一个market数据库;再次查询所有数据库就可以看到marktet数据库了。

 

我用黄色的荧光笔给大家标注了出来。


3.选中数据库:语法:use 数据库名称;

说明:我们由之前背景知识的图片可以知道,表格是放在数据库里的,但是数据库并不唯一,所以我们要想创建表格,先要选定一个你想使用的数据库。因此,为了避免混淆,一定要注意数据库的名字,不要随便起名,要根据需求,有实际意义。

如图所示:出现Database changed证明我们已经选择成功;


4.删除数据库 语法:drop database 数据库名称;(drop(v.) 落下,终止)

我们可以看到,进行删除操作后,数据库List当中已经没有数据库marktet了。

注意:删除数据库是非常危险的操作,我们刚开始没有一些重要的数据可以随便删除,以便练习。

以后工作,比如你操作的是银行用户账户的表格,表格中每行记录着每个用户的账户数目,此时你如果删除,虽然有技术可以恢复,但是耽误的时间成本导致的财物损失是非常可怕的!

 


我们学习每一种语言,最基本的在创建变量时要使用正确的数据类型,因此我们接下来看一下MySQL数据类型有哪些。

数值类型:分为整型和浮点型

数据类型大小特殊说明对应Java中的类型
BIT[ (M) ]M指定位 数,默认 为1二进制数,M范围从1到64, 存储数值范围从0到2^M-1常用Boolean对应BIT,此时 默认是1位,即只能存0和1
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

注意:对于整型类型的范围: 1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就 是-2^31到2^31-1 2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1

同时尽量不要使用Unsigned int。因为往往Int放不下的数据,无符号整型一样放不下。所以设计时,不如将数据设置为Bigint。


字符串类型:

数据类型大小说明对于java类型
VARCHAR (SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[]

关于二进制文本说明:有时候我们打开一个文本,会发现里面全都是乱码或者是生僻字,这些一般是文本创建人处于保密或其他原因,设置成了二进制文本,因此在我们看来就是一堆乱码符号生僻字。


日期类型:

之前我们应用的比较少,接触不多。但是在日常工作生活中,这是非常重要的数据类型,员工上下班打卡时间;学生体育锻炼时间打卡;以及学生出校返校时间。常用的表格都会大量使用到日期类型,所以请大家重视起来。

数据类型大 小说明对应java类型
DATETIME8字节范围从1000到9999年,不会进行时区的 检索及转换。ava.util.Date、 java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时 区并进行转换。java.util.Date、 java.sql.Timestamp

 

关于库的基本操作我们和数据类型我就基本介绍到此。库的操作大家应该也很明白了,都是比较宏观的操作,很容易理解。接下来,我们开始走进细节,开始表的操作介绍。

1.1 创建表:语法 create table table_name(表的名字)(field1 datatype, field2 datatype, field3 datatype);

如图,我们创建了一个名为book的表,有两列:名字以及ID号

 1.2查看表:语法 desc 表名;

其中:Key:指索引类型;后面我们会介绍索引。

extra:顾名思义 指扩充或补充;

1.3删除表: 语法:drop table 表名;

如图,我们删除后,在java106这个库中,就找不到book表了。


额外知识补充

1.注意:表名以及列名在创建时,不允许和关键字重名 

 如果实在想重名,也不是不可以,就要给对应的名字加上反引号`(波浪键位置);

 2.关于MySQL的字符集说明

字符集指的是某个范围字符的编码规则,而Mysql的字符集默认是拉丁文,所以导致如果单纯按默认的规则创建一个数据库,我们使用varchar()插入汉字的时候就会报错。如下图:

 为了解决这个问题,我们必须在创建数据库的时候就要人为设置字符集。

我们看到,在认为设置字符集之后,中文就可以正常插入了。具体插入的方法我们后再将。

 3.同一个数据库当中是不允许有两个表的名字相同的。同样的,不同数据库的名字也是不允许相同的。

 我们可以用if not exists关键句来将此错误变为警报,并通过show wainings来查看警报的具体内容。

 4.同样的,drop的时候,也不可以(不可能)删除一个不存在的数据库或者表。

我们同样可以使用 if exists来将错误变为警报。

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值