今天是刘小爱自学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。 详细的安装步骤不便讲解,直接连接数据库: 可以连接多种数据库,我们选择MySQL:①连接名 自定义创建一个连接名,以便于自己做区分,不创建也不影响。 ②IP+端口 数据库在本机,所以用localhost表示本地主机,3306是默认端口。 ③用户名+密码 即在安装数据库时设定的一个密码。 连接好后体验了下,发现真香。 至于更多的查询操作明天继续详细学习。 最后回到开头的问题,CRUD增删改查:
看来CRUD也不是简简单单的这几天在学的操作。 谢谢你的观看。 如果可以的话,麻烦帮忙点个赞,谢谢你。 |
|