当前位置:首页 > 编程笔记 > 正文
已解决

数据库和表的相关操作

来自网友在路上 161861提问 提问时间:2023-11-01 17:31:07阅读次数: 61

最佳答案 问答题库618位专家为你答疑解惑

文章目录

  • 一 数据库的相关操作
    • 1.1 显示当前所有的数据库
    • 1.2 创建数据库
    • 1.3 使用数据库
    • 1.4 删除数据库
  • 二 常用数据类型
    • 2.1 数值类型
    • 2.2 字符串类型
    • 2.3 日期类型
  • 三 表的操作
    • 3.1 创建表
    • 3.2 查看表结构
    • 3.3 查看有哪些表
    • 3.4 删除表
  • 四 重点内容总结

一 数据库的相关操作

1.1 显示当前所有的数据库

SHOW DATABASES;

1.2 创建数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [create_specification,[create_specification]…]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

大写的表示关键字, [] 是可选项,
CHARACTER SET : 指定数据库采用的字符集, GBK—Windows简体中文版默认的字符编码,一个字符是2个字节,能表示的语言有限 ; utf8更通用的一种变长编码,一个字符可能是1个字节,2个字节…,可以表示世界上任何一种语言 ; 而Java 中 的 char 占两个字节,可以表示中文,char 使用的是 unicode 编码,但String 不能使用 unicode , Java 的String 默认也是 utf8 编码,在String 和 char 互相进行转化时,Java会自动转换编码
COLLATE: 指定数据库字符集的校验规则

  • 创建名为 database_test1 的数据库

CREATE DATABASE database_test1;

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci,但MySQL5版本默认字符集是"拉丁文" , 无法直存储中文,需要手动指定

  • 如果系统没有 database_test2 的数据库,则创建一个名叫 database_test2 的数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS database_test2;

  • 如果系统没有 database_test的数据库,则创建一个使用utf8mb4字符集的 database_test数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS database_test CHARACTER SET utf8mb4;

MySQL的 utf8 编码不是真正的utf8,没有包含某些复杂的中文字符,主要是 emoji 表情。MySQL真正的utf8是使用utf8mb4

1.3 使用数据库

use 数据库名;

1.4 删除数据库

DROP DATABASE [IF EXISTS] 数据库名;

数据库删除以后,内部看不到对应的数据库,里面的表和数据全部被删除,在开发过程中,删除数据库是一个非常危险的操作,要慎之又慎

二 常用数据类型

2.1 数值类型

分为整型和浮点型:

数据类型大小说明对应Java类型BIT[(M)]M指定位数,默认为1二进制数,M范围从1到 64,存储数值范围从 0 到2M-1常用的Boolean对应BIT,默认是1位,只存0和1TINYINT1字节ByteSMALLINT2字节ShortINT4字节IntegerBIGINT8字节LongFLOAT(M,D)4字节单精度,M指定长度,D指定小数位数,会有精度丢失FloatDOUBLE(M,D)8字节DoubleDECIMAl(M,D)M/D最大值+2双精度,M指定长度,D指定小数位数,精确数值BigDecimalNUMERIC(M,D)M/D最大值+2和 DECIMAl 一样BigDecimal

数值类型可以指定为无符号(unsigned),表示不取负数
1字节(bytes) = 8bit
对于整型类型的范围:

  1. 有符号范围:-2(类型字节数*8-1)到2(类型字节数*8-1)-1,如 int 是4字节,就是-231到231-1
  2. 无符号范围:0到2(类型字节数*8)-1,如int就是232-1

2.2 字符串类型

数据类型大小说明对应JAVA类型CHAR(SIZE)0-255 字节定长字符串,只能有SIZE个字符串StringVARCHAR(SIZE)0-65,535 字节可变长度字符串,最多可有SIZE个字符StringTEXT0-65,535 字节长文本数据StringMEDIUMTEXT0-16,777,215 字节中等长度文本数据StringBLOB二进制形式的长文本数据byte[]

2.3 日期类型

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

三 表的操作

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

use database_text;

3.1 创建表

CREATE TABLE 表名(列名 类型, 列名 类型,…);

可以使用 comment 增加字段说明

create table student (
id int,
name varchar(20) comment ‘姓名’,
password varchar(50) comment ‘密码’,
age int,
sex varchar(1),
birthday timestamp,
);

3.2 查看表结构

desc 表名;

3.3 查看有哪些表

SHOW TABLES;

3.4 删除表

DROP [TEMPORARY] TABLE [IF EXISTS] 表名 [, 表名…];

示例

删除 stu_test 表
drop table stu_test;
如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;

注意: 错误删除表引起的后果可能比删除整个数据库来的更大
如果删除了整个库,后续程序进行任何数据库操作都会出问题,程序员能更早发现问题
如果只删除一个表,程序在运行过程中,大概率都是对的,少数操作是错误的,就难以发现问题,问题可能会持续存在很长时间,错误越积越多,造成的影响越来越严重

四 重点内容总结

  • 操作数据库
//显示所有的数据库(数据集合)
show databases;//创建数据库
create database 数据库名;//使用数据库
use 数据库名;//删除数据库
drop database 数据库名;
  • 常用数据类型
//整型
INT  //浮点数类型
DECIMAL(M,D) /字符串类型
VARCHAR(SIZE)//日期类型
TIMESTAMP
  • 操作表
// 查看所有的表
SHOW TABLES;//创建表
CREATE TABLE 表名(字段1 类型1,字段2 类型2,...
);//查看表结构
DESC 表名;//删除表
DROP TABLE 表名;
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"数据库和表的相关操作":http://eshow365.cn/6-29491-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!