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

【MySQL基础】数据库基本操作

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

【MySQL基础】数据库基本操作

文章目录
    • 1.数据库的基本操作
      • 1.1查看数据库
      • 1.2创建数据库
      • 1.3 使用数据库
      • 1.4 删除数据库
    • 2.常用数据类型
      • 2.1数值类型
      • 2.2字符串类型
      • 2.3日期类型
    • 3.数据表的基本操作
      • 3.1 创建表
      • 3.2 查看指定表(结构)
      • 3.3 查看当前有哪些表
      • 3.4 删除表
      • 【练习】

1.数据库的基本操作 1.1查看数据库
show databases;

1.2创建数据库
create  database  数据库名;

【注意】

  • 数据库名只能是数字、字母、下划线,不能有其他特殊符号。

  • SQL中是不区分大小写的。

  • 创建数据库的时候要保证你要创建的这个数据库一开始不存在,不然就会创建失败。

  • 如果加上 if not existes ,此时就会执行成功,但是由于数据库已经存在,所以并不会真的创建新的数据库

  • 自带的客户端是不带命令自动补全功能的,可以使用其他的编辑器来输入SQL,就会有高亮和补全,如VSCode编辑器。

  • 可以通过上下方向键找历史命令,即找你之前输过的命令。

1.3 使用数据库
use  数据库名;

  • use 数据库名;就是选中某个数据库,之后它就会提示Database changed,然后接下来的操作就是针对当前你选中的那个数据库进行的的操作,所以要想真正对数据库进行操作,必须得先通过use选中数据库,再进行后续操作。
1.4 删除数据库
drop  database   数据库名;

  • 删除数据库以后,内部看不到对应的数据库,里面的表和数据全部被删除。
  • 注意:删除操作非常危险,一旦删了之后通过常规手段是无法找回的,这就是江湖上流传的一句话:从删库到跑路。
  • drop database if exists 数据库名; if exists 表示如果存在才删除。
  • –:表示注释
2.常用数据类型

把数据库建立好之后如何进行组织和存储数据呢?

有了数据库之后,要想真的去存储组织数据,还需要数据表,创建表的时候就需要指定表结构。表结构中就涵盖了有哪些字段,以及每个字段的类型是啥,常用的数据类型有
int 、double 、decimal、varchar、text。

2.1数值类型

分为整型和浮点型

数据类型大小说明对应Java类型对应C类型
bit[(M)]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到2^M-1常用Boolean对应BIT,此时默认位是1,即只能存0和1char[]
tinyint1字节Bytesigned char
smallint2字节shortshort int
int(常用)4字节Integerint
bigint8字节Longlong long int
float(M,D)4字节单精度,M指定长度,D指定小数位数。会发生精度丢失Floatfloat
double(M,D) (常用)8字节双精度,M指定长度,D指定小数位数。会发生精度丢失Doubledouble
decimal(M,D) (常用)M/D最大值+2双精度,M指定长度,D表示小数点位数。数值精确BigDecimalchar[]
numeric(M,D)M/D最大值+2和decimal一样BigDecimalchar[]

【扩展】

  • 数值类型可以指定为无符号(unsigned),表示不取负数。但是尽量不要使用unsigned,因为对于int类型可能存放不下的数据,int unsigned 同样可能存放不下,与其如此,还不如设计时,将int 类型提升为bigint类型
  • 1字节(bytes) = 8bit
  • 对于整型类型的范围
    • 有符号范围:-2^ (类型字节数 * 8-1) 到 2^ (类型字节数 * 8-1)-1,如int是4字节,就是-2^31 到2^31-1
    • 无符号范围:0到2^ (类型字节数 * 8)-1 如int就是2^32-1
2.2字符串类型
varchar(size) (常用)0 - 65536字节,通过size指定长度存可变长度字符串Stringchar[]
数据类型大小说明对应Java类型对应C类型
text(一般常用)0 - 65536字节存长文本数据Stringchar[]
mediumtext0 - 16777215字节存中等长度文本数据Stringchar[]
blob0 - 65535字节存二进制形式的长文本数据(如:存图片)byte[]char[]
2.3日期类型
数据类型大小说明对应Java类型对应C类型
datetime8字节范围从1000到9999年,不会进行时区的检索及转换java.util.Date、java.sql.TimestampMYSQL_TIME
timestamp4字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.TimestampMYSQL_TIME
3.数据表的基本操作

要操作数据库中的表时,需要先使用该数据库,否则就不知道这个表是建在哪个数据库里面的。

use  数据库名;
3.1 创建表
create  table  表名  (
id  int,
name  varchar(20)
);

注意:mysql中,字段名在前,数据类型在后

创建表的时候,如果表名或者列名和SQL中的关键字重复了,就会报错;

可以把名字冲突的部分用反引号引起来,就能解决这个问题。

3.2 查看指定表(结构)
desc   表名;

【小练习】下面我们来创建一个复杂一点的学生表试试吧!

可以先在文本中敲好,再复制粘贴到命令行,以免在命令行中打错又要重新打。

create table student1(
    id int,
    name varchar(16),
    password varchar(20),
    age int,
    sex varchar(5),
    birthday timestamp,
    score decimal(3,1),   -- decimal存小数,(3,1)表示有效数字有3位,小数点后1位
    introduction text    -- text  存长文本数据
);

3.3 查看当前有哪些表
show tables;

3.4 删除表
drop table 表名;

注意:删除表也是非常危险的,一旦删除了通过常规手段也是无法恢复的,如果在工作中,使用删除表操作时要十分谨慎,确认之后再删除,以免犯错。

【练习】

有一个商店的数据,记录客户及购物情况,有以下三个表组成:

  • 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商proider)
  • 客户customer(客户号customer_id, 姓名name, 住址address, 邮箱email, 性别sex,身份证card_id)
  • 购买purchase(购买订单号order_id , 客户号customer_id, 商品号goods_id, 购买数量nums)
create table goods(
    goods_id  int,
    goods_name varchar(20),  
    unitprice decimal(7,2),  
    category varchar(30),  
    proider  varchar(40)
);

create table customer(
    customer_id  int,
    name varchar(20),  
    address varchar(50),  
    email varchar(20),  
    sex  varchar(5),
    card_id varchar(20)
);

create table purchase(
    order_id  int,
    customer_id  int,  
    goods_id  int,  
    nums  int 
);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/361640.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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