首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这几个数据库操作命令,程序员都很少知道和使用?

今天是刘小爱自学Java的第60天。

感谢你的观看,谢谢你。

话不多说,继续数据库MySQL的学习:

昨天学习的是对数据仓库的操作(增删改查)

在一个数据仓库里是可以创建无数张数据表的。

所以今天主要学习对数据表的操作。

其中table,在数据库中便是表的意思,它是挺重要的一个单词。

一、数据表结构

行与列,构成了一张数据表,其实可以将数据表和Java之间联系起来的。

第一行

这行就相当于Java中的一个类,比如Student类。

第二行以及后面的所有行

就相当于Java中Student类对应的一个对象:

Student liuxiaoai=new Student();

Student zhangsan=new Student();

Student lisi=new Student();

所有列

每一列就相当于类中的属性(成员变量)

有四个成员变量:id、姓名、性别、地址。

每个对象都有自己对应的属性值。

二、基本数据类型

既然是操作数据,肯定会有各种各样的数据类型。

在Java中有四类八种,在SQL中也有其对应的数据类型,我们将其做一个对比:

整数型

其实还蛮好记的,SQL有五种,都以int为后缀。

tiny,微小的,故对应Java中的byte。我记得小时代的翻译就是tiny times,我当初还在想为何不是small times…

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:日期,即年月日(2020-6-13)

time:时间,即时分秒(6:44:58)

datetime:时间和日期都包含

timestamp:时间戳,如果不给当前列插入数据,这列会自动赋值当前时间。

以上便是对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+需要删除的表

以上便是对数据表的增删改查,据说其各种操作都不算太重要,使用的频率不高,毕竟最常见的还是对表里的数据进行操作。

但本着学习的原则,还是将其学了一遍,知其然也要知其所以然,就当是加深记忆了。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200614A0HJQY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券