MySQL数据表的操作 与 SQL的数据类型

Posted 玄鸟轩墨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据表的操作 与 SQL的数据类型相关的知识,希望对你有一定的参考价值。

@TOC

写在前面

使用数据库

我们刚开始进入数据库是在主页面中,我们需要进入到某一个数据库

我们使用下面语句

use <数据库名>

数据类型

我们要使用数据库,还要创建数据表,而创建数据表就需要学习SQL语言的中的数据类型

  • 数值类型
  • 字符串类型
  • 日期类型

为何要有数据类型

数据类型怎么用

数值类型

分类

这些种类的名字很奇怪,原因是因为SQL语言很久之前就出现了,后面的名字就没有修改

类型 大小 说明 对应Java类型
tinyint 1字节 Byte
smallint 2字节 Short
int 4字节 Integer
bigint 8字节 Long
float(M,D) 4字节 单精度,M指定长度,D指定小数点后几位,会有精度损失 Float
double(M,D) 8字节 Double
decimal(M,D) M/D最大 值+2 双精度,M指定长度,D指定小数点后几位,精确值 BigDecimal

注意也可以加上 unsigned 变成无符号的,不过不推荐

  • 整型 int
  • 浮点型 double(M,D) 和 decimal(M,D)

说一下decimal

字符类型

分类

类型 大小 说明 对应Java类型
char 0 ~ 255字节 定长字符串,char(n)n<=255 String
varchar(SIZE) 0 ~ 65536字节 变长字符串 String
blob 0 ~65536字节 存储二进制字符串 byte[]
mediumblob 0 ~16777215字节 存储二进制字符串 String
text 0 ~65536字节 长文本数据 String

char(10)和varchar(10)的区别

  • char(10)表示我们只能输入10个字符,如果输入小于10,则自动补充\\u0000至10个字符
  • varchar(10)表示我们可以输入<=10的字符,不够的空格自动补齐

日期类型

分类

类型 说明 格式
date 只能存储年月日 2021-01-23
time 只能存储时分秒 11:23:56
year 只能存储年份 2021
datetime 能存储年月日,也可以存储时分秒,空格隔开 2021-01-23 11:23:56
timestamp 能存储年月日,也可以存储时分秒 时间戳 20210123 112356

创建表

创建

注意我们创建数据表时,字段名在前,类型在后, 要是我们的表名于SQL语句冲突,我们使用 反引号 将其括起来,就可以了

反引号 位于tab健上面,Esc健下面 1的左面

create table students(
 stu_name varchar(8) not null,
 stu_sex char(2) not null,
 stu_age int not null,
 stu_tele char(11) not null unique
 );


非空约束 not null

唯一约束 unique

查询数据表

我们可以使用下面的语句查询一个数据库下所有的表

mysql> show tables;

查询表结构

mysql> desc <表名>;

修改表

当我们突然意识到我们的一张表创建有一些问题时,除了删除外,我们也可以在原来的基础上进行修改

修改表名

mysql> alter table students rename to stu_test; -- to 也可以省略

修改表的字符集

mysql> alter table stu_test character set utf8;

增加一个字段

mysql> alter table stu_test add stu_qq char(11) unique;

删除一个字段

mysql> alter table students drop stu_num;

删除

删除表

mysql> drop table if exists stu_test;

以上是关于MySQL数据表的操作 与 SQL的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MySQL语法基础

MySQL数据表的操作 与 SQL的数据类型

JDBC入门--- 时间类型大数据

sql 如何只截取日期数据的 时分秒 ?

Mysql快速上手一(基础知识数据模型数据类型SQL语句)

java.sql.date 插入数据库没有时分秒