• 【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

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

  • 相关阅读:
    单机RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
    kafka_2.11-0.8.2.1+java 生产消费程序demo示例
    Kafka使用log.retention.hours改变消息端的消息保存时间
    Apache Kafka监控之KafkaOffsetMonitor
    Apache Kafka监控之Kafka Web Console
    Kafka三款监控工具比较
    linux查看本机IP、gateway、dns
    kafka_2.11-0.8.2.1生产者producer的Java实现
    linux下杀死进程(kill)的N种方法
    Linux查看硬件配置命令
  • 原文地址:https://www.cnblogs.com/socoool/p/12629783.html
Copyright © 2020-2023  润新知