今天是刘小爱自学Java的第61天。
感谢你的观看,谢谢你。
话不多说,开始今天的学习:
一直听人说,程序员面试,喜欢聊底层原理,聊数据结构与算法,聊多线程与高并发。
然而进去了就是每天CRUD,每天加班。
虽然当时有点听不懂,但我还是将CRUD记下了下,后来发现其实就是增删改查。
一开始学集合的时候,咦,发现集合的方法基本都是增删改查,莫非说的就是它?那看来很重要啊,必须学好。
现在才发现自己想的太简单了,CRUD不是简简单单的集合,而是数据库?
前天学了数据仓库的操作,昨天学数据表的操作,今天学对数据表里的数据操作,
同样也是增删改查:
insert,插入添加的意思,也就是增加。
①增加数据(全写)
insert into student1(id,username,gender,address)values(null,‘刘小爱’,‘男’,‘上海’);
给表添加一行数据,每一列都要赋值,格式为:
insert into+表名+所有列名+values+所有值
因为主键设置了自增长,可以直接书写null
但是这种格式太繁琐了,可以省略部分列。
②增加指定列的数据
如果有一列的数据可以为空或者有默认值,可以省略不赋值,也就是上图中的Null和Default两列。
因为主键设置了自增长,也相当于有默认值,所以id和address这两列可以省略。
insert into student1(username,gender)values(‘张三’,‘男’);
给表中指定列的数据赋值,格式为:
insert into+表名+指定列+values+对应值
③省略所有列(简写)
insert into student1 values(null,‘李四’,‘男’,‘武汉’);
将所有列名都省略,但是每一列都要赋值,格式为:
insert into+表名+values+所有值
注意:
update,更新的意思,也就是修改。
①修改整列数据
update student1 set address=‘北京’;
将address这一列的所有数据修改成北京,格式如下:
update+表名+set+列名+值
②修改指定行的列数据
update student1 set gender='女’where username=‘张三’;
将gender这一列中username为‘张三’的数据修改成‘女’,格式如下:
update+表名+set+列名+值+where+指定条件。
where等于是加了一个指定条件。
③使用运算修改指定行的数据
update student1 set age=age+2 where username=‘张三’;
格式同上,不过在运算时注意:
SQL中没有+=这样的运算符,和Java不一样。
其中!= 和 < > 都表示不等于。
delete,删除的意思。
①删除指定的数据
delete from student1 where username=‘李四’;
删除username为‘李四’的整行数据,格式如下:
delete from+表名+where+指定条件
②删除表所有数据
delete from student1;
③也是删除表所有数据
truncate,截断的意思,也就是删除的意思。
truncate table student1;
**附面试题:**delete,truncate,drop之间的区别
所以truncate和drop都是对表本身的操作,所以语法中有table这个单词。
delete是对表中数据的操作,对表本身没有操作。
select,选择的意思,也就是查询。
select * from student1;
*代表所有的意思,即查询表中的所有数据
然后我悲催地发现……
查询操作太多了,可以说增删改加起来都没有它多。
用命令行操作的本意是想让自己对单词进一步加深印象,但是实在是太多了,所以上可视化工具,我这边使用的是Navicat。
详细的安装步骤不便讲解,直接连接数据库:
①连接名
自定义创建一个连接名,以便于自己做区分,不创建也不影响。
②IP+端口
数据库在本机,所以用localhost表示本地主机,3306是默认端口。
③用户名+密码
即在安装数据库时设定的一个密码。
连接好后体验了下,发现真香。
至于更多的查询操作明天继续详细学习。
回到开头的问题,CRUD增删改查:
看来CRUD也不是简简单单的这几天在学的操作。
谢谢你的观看。
明天继续详细学习。