【Java技术系列】爱情36技之记忆永存

1. 

关注“一猿小讲”的伙伴们都清楚,Java 那小子带着心爱的 Python 菇凉,去了一趟浪漫的土耳其,然后一起又去了东京和巴黎,接着 Python 菇凉自己又去了云南的大理。

 

就在昨天,Python 菇凉好奇的问:“亲爱的,好记性不如烂笔头,你能否把这些旅游的记忆,帮我存储下来啊?”

 

这个问题,当然难不倒在技术竞技场摸爬滚打、填坑无数的 Java 那小子。Java 那小子自信的说:“你已经熟练使用 IDEA;也能够写 HelloWorld 程序;也带你灭过 Bug。已经是个名副其实的程序媛啦,是时候教给你真正的技术啦,也是时候介绍我的好朋友 MySQL 给你认识认识啦。”

 

“MySQL?MySQL 是谁?”Python菇凉好奇的问。

 

恰巧,MySQL 步履蹒跚的径直朝 Java 那小子 & Python 菇凉的方向走来。

 

“你好,美丽的 Python 菇凉。我是 MySQL,我擅长关系型数据存储,大家都叫我宰相,因为我肚子特能装(哈哈),以后有需要帮帮的,别见外,尽管说。”MySQL 笑眯眯的说道。

 

Java 那小子用期望的眼神盯着 MySQL,并说道:“巧了,MySQL 兄弟,我女票正考虑,如何把近期旅游的经历,存储一下,不知道你能否帮忙解决?"

 

“兄弟的事,当然两肋插刀,在所不辞,更何况是我擅长的事情。不过今天 DB 界进行选秀,我就不陪着你们实现了,不过我这有一个操作手册,你照着做就能帮助 Python 实现愿望了。”MySQL 爽快的说道。

 

2. 

说时迟,那时快。只见 Java 那小子照着 MySQL 给的手册,已经操作猛如虎了。

第一步:打开黑布隆冬的控制台窗口,并输入连接数据库服务器的命令:

mysql -u root -p

640?wx_fmt=png

 

如上图所示提示输入数据库密码,输入密码成功后,成功打入 MySQL 内部。

640?wx_fmt=png

第二步:你需要创建个数据库,可以起个数据库的名字,咱们不妨就叫 travel 吧,命令如下。

create database travel;

640?wx_fmt=png

然后选择刚刚创建的数据库 travel,命令如下:

use travel;

640?wx_fmt=png

第三步:你需要在 travel 下创建一个 memories 表,专门存放 Python 菇凉的旅行回忆。

CREATE TABLE memories (	
  id              INT unsigned NOT NULL AUTO_INCREMENT,	
  city            VARCHAR(64) NOT NULL,	
  scenic_spots    VARCHAR(64) NOT NULL,	
  image_path      VARCHAR(128) NOT NULL,	
  travel_date     DATE NOT NULL,	
  PRIMARY KEY     (id)	
);

第四步:此时就可以把 Python 菇凉的旅行经历全部记录写进回忆里。

insert into memories values(1,'土耳其','卡帕多奇亚','kpdqy.png','9012-07-02');	
insert into memories values(2,'东京','异国情调街区','ygqdjq.png','9012-07-03');	
insert into memories values(3,'巴黎','塞纳河','snh.png','9012-07-03');	
insert into memories values(4,'云南','天涯海角','tyhj.png','9012-07-04');

640?wx_fmt=png

好了,到这一步 Python 菇凉的愿望也就达成了,旅行回忆在 MySQL 的帮助下已经完全得到了存储。

 

“关键是怎么查询呢?”Python疑惑的问道。

只见 MySQL 给的手册上有这么一句话,若想查询记录,可以通过如下命令进行查询,不妨一试。

select * from memories;

640?wx_fmt=png

“哎呦,MySQL 他也太厉害了,快成我偶像了,佩服!但是我发现第 2 条的景点的写错了,能不能更新一下啊?”Python菇凉抱有期望的问道。

 

只见 MySQL 给的手册上清晰的记录着如下命令,Java 那小子迫不及待的想试一下。

update memories set scenic_spots = '秋叶原' where id = 2;

640?wx_fmt=png

Python 菇凉看到查询效果,惊喜的笑了。但是考虑到云南天涯海角,因为只有 Python 菇凉自己去了,没有 Java 那小子的世界,感觉不完美,所以不应该永久留存,应该删除。于是根据 MySQL 给的手册指示输入了如下命令:

delete from memories where id = 4;

640?wx_fmt=png

看到最后这个效果,Python 菇凉甚是高兴,感觉爱情之旅回忆满满,幸福感爆棚。

“哎呀,我突然发现这么一来,咱们也可以设计一张记账订单表,来管咱们家的鸡毛蒜皮的账啦(捂嘴笑)。”Python 菇凉惊奇的说道。

 

3. 

故事讲完啦,接下来把 MySQL 给的手册未提到的咱们也稍微提一嘴吧。

显示所有数据库:show databases;	
显示所有的表:show tables;	
显示表结构:desc memories;	
删除表:drop table memories;

  

经验分享一箩筐:

ERROR 1366 (HY000): Incorrect string value: 'xCDxC1xB6xFAxC6xE4' for column 'city' at row 1

解决:查看创建数据的编码是否为 utf8,如果是直接在控制台 set names gbk 就可以解决。

640?wx_fmt=png

经验分享一麻袋:

查询 city 是北京的旅游经历,发现全部查询出来了,小伙伴们问题出在了哪儿呢?后面文章会重点说这个问题的攻防,敬请期待。

select * from memories where city='北京' or '1=1';

640?wx_fmt=png

好了,今天的分享到这就结束了。谨以此篇,写给身边那些需要的朋友们。

原文地址:https://www.cnblogs.com/socoool/p/12629783.html