今天是刘小爱自学Java的第60天。
感谢你的观看,谢谢你。
话不多说,继续数据库MySQL的学习:
昨天学习的是对数据仓库的操作(增删改查)
在一个数据仓库里是可以创建无数张数据表的。
所以今天主要学习对数据表的操作。
其中table,在数据库中便是表的意思,它是挺重要的一个单词。
一、数据表结构
行与列,构成了一张数据表,其实可以将数据表和Java之间联系起来的。
①第一行
这行就相当于Java中的一个类,比如Student类。
②第二行以及后面的所有行
就相当于Java中Student类对应的一个对象:
Studentliuxiaoai=newStudent();Studentzhangsan=newStudent();Studentlisi=newStudent();③所有列
每一列就相当于类中的属性(成员变量)
有四个成员变量:id、姓名、性别、地址。
每个对象都有自己对应的属性值。
二、基本数据类型
既然是操作数据,肯定会有各种各样的数据类型。
在Java中有四类八种,在SQL中也有其对应的数据类型,我们将其做一个对比:
①整数型
其实还蛮好记的,SQL有五种,都以int为后缀。
tiny,微小的,故对应Java中的byte。我记得小时代的翻译就是tinytimes,我当初还在想为何不是smalltimes…smallint对应的是Java中的short。medium,中等的,这是SQL中特有的。big,大的,故对应Java中long。②小数型
Java中和SQL中一样。其中SQL中:
float(5,2)表示字段共5位长度,可以有两位小数。
③字符型
Java中的字符串在SQL中是varchar。
varchar,翻译过来就是可变化的字符,它的长度是可以变化的,自适应的,可短不可长。varchar(20)就是表示字段长度为20以内都可以,它会根据不同的字段自动适应长度。varchar可以节省空间,一般经常会使用到它。char的长度是固定的,比如身份证手机号可以使用它。char(20)就是表示字段长度为20,如果没有20,用空格补全。char的性能高(长度不用经常变换)三、其他数据类型
①大数据类型
在Java中就是IO流来传输数据了。
在SQL中分别是blob,binary,text:
blob,翻译就是二进制对象,即对应字节。binary,翻译过来也是二进制。text,这是文本,即字符数据②日期型
在Java中对应的就是几个日期相关的类。在SQL中:
date:日期,即年月日(-6-13)time:时间,即时分秒(6:44:58)datetime:时间和日期都包含timestamp:时间戳,如果不给当前列插入数据,这列会自动赋值当前时间。以上便是对Java和SQL中数据类型的对比,毕竟主要是学Java的,将其对比起来记忆也更好理解。
四、创建数据表
①createtablestudent();
创建student表,其中说明每个字段的类型。
在SQL里和Java正好相反:比如idint。
前面的是字段名,后面的是字段类型。
②showtables;
展示当前数据库下的数据表。
五、查看数据表
①showcreatetablestudent;
查看表的创建信息。
②descstudent;
desc,描述的缩写,即查看表的详细信息。
③showcolumefromstudent;
colume,列的意思,也就是查看表的列信息。
六、单表创建时约束
现在有几个问题:
每一个学生ID要保证唯一,不可重复,同时姓名虽然可以重复但不能为空。
这些问题在SQL中如何实现?
①主键约束
primarykey,翻译过来就是主键。
一张表中的主键只能有一个,并且是唯一不为空的。
就有点类似于每个人的身份证一样,但是身份证它不是唯一的,毕竟可以移民呢。
所以一般都会定义一个字段叫id,保证唯一性。
②唯一约束
unique,唯一的意思。
大名鼎鼎的优衣库:uinqlo,就是uniqueclothing这两个单词拼接起来的,唯一的衣服,一看就很厉害的样子。
③非空约束
notnull,不为空的意思,这个也好理解。
七、修改数据表
这个最复杂了,因为对数据表里的列的各种操作,都属于修改数据表。
先捋一捋对数据表的修改操作有哪些?
增加数据表某一列删除数据表某一列修改数据表里某一列修改数据表名修改表的字符集前三个为对表里列的修改,后两个为对数据表本身的修改。
alter,修改的意思。
①添加列
altertablestudent2addageint;
add添加的意思,格式也就是:
add+列名+列数据类型
②删除列
altertablestudent2dropage;
drop删除的意思,格式也就是:
drop+列名
我擦,昨天不是都说drop不常见么,这删除列怎么就用到了,真的是啪啪打自己的脸。
③修改列名
altertablestudent2changenameusernamevarchar(20)unique;
change修改的意思,格式也就是:
change旧列名新列名
④修改列的约束
altertablestudent2modifyusernamevarchar(20)uniquenotnull;
modify也是修改的意思,格式也就是:
modify+列名+新的约束
⑤修改数据表名
renamestudent2tostudent1;
rename也是修改的意思,格式也就是:
rename+旧表名+to+新表名
⑥修改数据表字符集
altertablesutdent1charactersetutf8;
character字符的意思,格式也就是;
character+set+新编码表
八、删除数据表
droptablestudent;
drop删除的意思,也就是格式为:
drop+table+需要删除的表
以上便是对数据表的增删改查,据说其各种操作都不算太重要,使用的频率不高,毕竟最常见的还是对表里的数据进行操作。
但本着学习的原则,还是将其学了一遍,知其然也要知其所以然,就当是加深记忆了。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。