2.数据库操作

1. 操作数据库的方式:

本节要点:

  • 命令行客户端 SQL语句
  • 图形化客户端

注:

  1. 此处的数据库是指一个逻辑上的数据集合
  2. 一个MySQL服务器可以在硬盘上组织保存很多数据,MySQL服务器通过“表”来组织。
额外知识:一个MySQL服务器上会有很多表,将有关联的表放到一起就构成了一个数据集合,称为数据库。
一个MySQL服务器会有很多个数据库

2. 数据库的操作

前言:

  1. SQL语句中定义各种名字时不能与SQL的关键字相同
  2. SQL语句不区分大小写

2.1 创建数据库

语法:create database(if not exists)名字;
创建时可以指定一下字符集,create database 数据库名 charset utf8;

要点:

  1. 加 ”if not exists“
一定要加“if not exists”的原因:

1. 数据库创建时要求不能重复,同名会报错。

2. 实际工作中是把一系列SQL语句写到一个文件中,而不会像初学时这样一条条执行。在批量执行时,如果一条SQL语句报错,后边的语句无法执行,所以创建时加”if not exists“。就好比删除文件夹时,总有文件显示在运行无法删除,导致删除操作无法进行,是不是很烦呢?SQL也是如此
  1. 创建数据库的同时,指定字符集

1.字符集是什么? 答:类似于ASCII码表
注:计算机中一个汉字占的字节不一定是2,它由字符集决定

2.常见的字符集:

  • gbk gbk下汉字占2个字节
  • unicode * 给单个字符进行编码,无法给字符串进行编码
  • utf8(变长编码) utf8下占3个字节
  • utf8mb4(完全体的utf8)
unicode只能对单个字符进行编码,无法给字符串进行编码,所以基于unicode衍生出了可以对字符串进行编码的版本——>utf8,Java中char类型内部编码是unicode,String类型则是utf8

MySQL中的utf8是一个残本,没有emoji表情,而utf8mb4有

2.2 查看数据库

语法:show databases; (列出MySQL服务器上有哪些数据库)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| java108            |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+

2.3 选中数据库

语法:use 数据库名;

mysql> use java108
Database changed

为什么要选中数据库? 数据库中最核心的操作就是针对表的增删改查,而表是属于数据库的,想对表操作。就必须指定是哪个数据库

2.4 删除数据库

语法:drop database 数据库名;

此操作慎重!!删除数据库也会一并删除库中的表和表中的数据,严重的要吃牢饭!!

3.表的操作

针对表操作,必须先选中数据库!!!

前言:

一个表包含很多行,行中包含很多列,每一行称为一条记录,每一列称为一个字段,每个列都有一个具体的类型

3.1 MySQL中的数据类型:

所有数据类型:

1.数值相关:

  1. bit
  2. tinyint
  3. smallint
  4. int
  5. bigint
  6. float(m,n) ()用来描述精度,m指小数长度,n指小数点后边有几位
  7. double(m,n) 如,double(3,2)——>3.33
  8. decimal(m,n) 精度更高的浮点数,但占用内存大,运行速度慢 注:float和double都是IEE 745标准下的浮点数,精度会有所丢失,如 0.1 + 0.2 != 0.3

2.字符相关:

  1. varchar(size) size表示该类型最多存几个字符(不是字节!!)一个汉字占一个字符,但不一定占一个字节
  2. text
  3. mediumtext
  4. blob 二进制数据 注:
  5. size虽然会指明空间大小,但不会分配这么大空间,而是先分配较小空间,不够再扩展
  6. 这些存的字符都是能在码表上找到的,码表上找不到的就是二进制的数据,如,音乐,视频

3.时间相关

  1. datetime 8字节
  2. timestamp 4字节

重点掌握:

  • int
  • long
  • double
  • decimal(m,n)
  • varchar(size)
  • datetime
注:对表进行操作之前要先选中数据库(use 数据库名)

3.2 创建表

create table 表名;

3.3 查看该数据库中所有的表

show tables;

3.4 查看指定表的结构

desc 表名;

3.5 删除表

drop table 表名;(此操作慎重!!删除表会连表中的数据一起删除,不可恢复)

  • 29
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值