@TOC
写在前面
使用数据库
我们刚开始进入数据库是在主页面中,我们需要进入到某一个mysql面试题数据库
我们使用下面语句
use <数据库名>
数据类型
我们要使用数据库,还要创建数据表,而创建数据表就需要学习SQL语言的中的数据类型
我们学过很多语言,里面都有关数据类型的分类,SQL语言自然也是有的,它分为三大类。
- 数值类型
- 字数据类型关键字符串类型
- 日期类型
为何要有数据类型
这是一个很好很基本的问题 ,它放映了存在的原因,想数据类型关键字一想当我们在表格中会输入什么
数据类型怎么用
我们都知道每一中数据类型都有它的范围,这个范围指的是表格中数据的大小,那我们应该怎么使用,这个可能和我们之前的理解不太一样,table是什么意思英语下面我们帅气撩人高冷动漫男头一一来说
数值类型
这个简单,我们知道int 、float、 double在mysql索引这里都有,不过它也添加了许多其他的,下面我就一一给出,由于它是规定的,我们也没有太多话可以说
我们给出数值类型是为了可以进行算数运算(,比如说年龄 ,tablecloth我们是可以将它定义为字符类型的,但是我们知道每过人一个生日,我们的年龄 + 1,可以看出数数据类型关键字据类型比较好处理
分类
这些种类的名字很奇怪,原mysql创建表因是因为SQL语言很久之前就出现了,后面的名字就没有修改
类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
tinyint | 1字节数据库是什么 | Byte | |
smallint | 2字节 | Short | |
int | 4字节 | Integer | |
bigin约束之律者t | 8字节 | Long | |
floamysql增删改查语句t(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
我们知道,当我们使用doubletableau数据可视化型时,有时候会带有很多位小数,比如说3.900000,很不舒服,所以就出table tennis现了decimal,它只会有2位小数,decimal的精度很高,table是什么意思英语我们用于更正确的计算
desql数据库cimal(10,2)表示 数值位 有10位,小数位有2位
字符类型tableau
分类
类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
char | 0 ~ 255字节数据类型是什么意思 | 定长字符串,char(n)n&lSQLt;=2帅气撩人高冷动漫男头55 | String |
varchar(SIZE) | 0 ~ 65536字节 | 变长字符串 | String |
blob | 0 ~65536字节 | 存储二进制字符串 | byte[] |
mediumblob | 0 ~167数据类型77215字节 | 存储二进制字符串 | String |
text | 0 ~65536字mysql安装节 | 长文本数据 | String |
char(10)和varchar(10)的区别
- ctableau数据可视化har(10)表示我们只能输入10个字符,如果输入小于10,则自动补充'\u0000'至10个字符
- varchar(10)表示我们可以输入<=10的字符,不够的空格自动补齐
日期类mysql增删改查语句型约束反力
我们要说一下,日期类型不是也可以用字符串来表示吗?实际上可以的,不过存在一个问题,在数据库中,我们有时候要求基于时间字段进行查询,这就不太好了,所以特地出现了日期类mysql安装型
分类
类型 | 说明 | 格式 |
---|---|---|
date | 只能存储年月日 | 2021-01-23 |
time | 只能存储时分秒 | 11:23:56 |
year | 只能存储年份 | 2021 |
datetime | 能存储年月日,也可以存储时分秒,空格隔开mysql数据库 | 2021-01-23 11:23:mysql数据库命令大全56 |
timestable tennistamp | 能存储年月日,也可以存储时分秒 时间戳 | 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
);
下面我tableware要解释一下我们的名词,他们都是约束条件,这两个约束我们也可以不写,就是没有了我们想要的限制,这只是其中的两个约束带约束,后面还有其他的的约束
非空约束 not nulmysql面试题l
not null意味table tennis着这列是必填项,不能为空
唯一约束 unique
unique表示这一列的数据两两不同
查询数据库查询语句数据数据类型关键字表
我们可以使用下面的语句查询一个数据库下所有的表
mysql> show tables;
查询表结构
mysql> desc <表名>;
修改表
当我们突然意识到我们的一张表创建有一些问题时,除了删除外,我们也可以在原来的基础上进行修改SQL
修改表名
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;
删除一个字段
alter table 数据表名 drop 字段名
mysql> alter table students drop stu_num;
删除前
删除后
删SQL除表
mysql> drop table if exists stu_test;
发表评论