昨天学习的是对数据仓库的操作(增删改查)
在一个数据仓库里是可以创建无数张数据表的。
所以今天主要学习对数据表的操作。
其中table,在数据库中便是表的意思,它是挺重要的一个单词。
行与列,构成了一张数据表,其实可以将数据表和Java之间联系起来的。
①第一行
这行就相当于Java中的一个类,比如Student类。
②第二行以及后面的所有行
就相当于Java中Student类对应的一个对象:
③所有列
每一列就相当于类中的属性(成员变量)
有四个成员变量:id、姓名、性别、地址。
每个对象都有自己对应的属性值。
既然是操作数据,肯定会有各种各样的数据类型。
在Java中有四类八种,在SQL中也有其对应的数据类型,我们将其做一个对比:
①整数型
其实还蛮好记的,SQL有五种,都以int为后缀。
②小数型
Java中和SQL中一样。其中SQL中:
float(5,2)表示字段共5位长度,可以有两位小数。
③字符型
Java中的字符串在SQL中是varchar。
①大数据类型
在Java中就是IO流来传输数据了。
在SQL中分别是blob,binary,text:
②日期型
在Java中对应的就是几个日期相关的类。在SQL中:
以上便是对Java和SQL中数据类型的对比,毕竟主要是学Java的,将其对比起来记忆也更好理解。
①create table student();
创建student表,其中说明每个字段的类型。
在SQL里和Java正好相反:比如id int。
前面的是字段名,后面的是字段类型。
②show tables;
展示当前数据库下的数据表。
①show create table student;
查看表的创建信息。
②desc student;
desc,描述的缩写,即查看表的详细信息。
③show colume from student;
colume,列的意思,也就是查看表的列信息。
现在有几个问题:
每一个学生ID要保证唯一,不可重复,同时姓名虽然可以重复但不能为空。
这些问题在SQL中如何实现?
①主键约束
primary key,翻译过来就是主键。
一张表中的主键只能有一个,并且是唯一不为空的。
就有点类似于每个人的身份证一样,但是身份证它不是唯一的,毕竟可以移民呢。
所以一般都会定义一个字段叫id,保证唯一性。
②唯一约束
unique,唯一的意思。
大名鼎鼎的优衣库:uinqlo,就是unique clothing这两个单词拼接起来的,唯一的衣服,一看就很厉害的样子。
③非空约束
not null,不为空的意思,这个也好理解。
这个最复杂了,因为对数据表里的列的各种操作,都属于修改数据表。
先捋一捋对数据表的修改操作有哪些?
前三个为对表里列的修改,后两个为对数据表本身的修改。
alter,修改的意思。
①添加列
alter table student2 add age int;
add添加的意思,格式也就是:
add+列名+列数据类型
②删除列
alter table student2 drop age;
drop删除的意思,格式也就是:
drop+列名
我擦,昨天不是都说drop不常见么,这删除列怎么就用到了,真的是啪啪打自己的脸。
③修改列名
alter table student2 change name username varchar(20) unique;
change修改的意思,格式也就是:
change 旧列名 新列名
④修改列的约束
alter table student2 modify username varchar(20) unique not null;
modify也是修改的意思,格式也就是:
modify+列名+新的约束
⑤修改数据表名
rename student2 to student1;
rename也是修改的意思,格式也就是:
rename+旧表名+to+新表名
⑥修改数据表字符集
alter table sutdent1 character set utf8;
character字符的意思,格式也就是;
character+set+新编码表
drop table student;
drop删除的意思,也就是格式为:
drop+table+需要删除的表
以上便是对数据表的增删改查,据说其各种操作都不算太重要,使用的频率不高,毕竟最常见的还是对表里的数据进行操作。
但本着学习的原则,还是将其学了一遍,知其然也要知其所以然,就当是加深记忆了。
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有