阿昆同学的Java学习日记Day1

学完了Java基础语法后,工作了一年的老哥准备把我搞到公司里头去,于是就让我看Javaweb的相关知识,跟着网课一步一步学到了开始需要实操的部分-Mysql数据库管理系统安装,别人偷懒说Mysql说成Mysql数据库,但是为了巩固上课内容,我还是叫Mysql数据库管理系统吧!

看着老师操作总是非常的简单,但是有了前面在Ideal中配置Maven和Tomcat的折磨经验后,我已经做好了配置Mysql继续受到折磨的心里准备,有空再回忆回忆配置Maven和Tomcat到底遭受了什么折磨。安装过程一切顺利,配置环境变量也一切顺利。一开始新建、选择、退出、查询数据库时都一切顺利,我逐渐放松下来,这玩意还挺简单的。直到老师开始讲起查询语句时,想查询语句时肯定要先有一个表嘛,于是乎我开始新建第一个表。当我一气呵成的打出

CREATE TABLE stu(
    id int, -- 编号
    name varchar(20), -- 姓名
    age int, --年龄
    sex varchar(5), -- 性别
    address varchar(100), -- 地址
    math double(5,2), --数学成绩
    english double(5,2), --英语成绩
    hire_data data --入学时间
    );

并按下回车时:

ERROR 1046 (3D000): No database selected

?看到报错我就麻了,以为是我自己哪个地方中英文输入法没切换导致的输入错误(不会看报错提示真的笨),然后又在命令行重新输入了一遍,还是报错,我以为还是不对,于是在VScode里又手打了一遍复制进去还是报错。心态直接就崩了,这时候才想起来看错误提示,select?select啥意思来着?噢噢噢噢懂了,mdzz,我连进哪个库都没选创建个冒险表啊。然后打算新建一个数据库,还是一气呵成的输入

create databass if not exists study;

回车,回TMD

ERROR 1064 (42000): You have an error in your SQL syntax;
 check the manual that corresponds to your MySQL server version for the right syntax to use near 'databass if not exists 'study'' at line 1

心脏骤停,不过这次学乖了,知道看报错提示了,语法错误,仔细回头看看,噢噢噢噢懂了,database打成了databass,改完之后database这个单词又打错了三遍,我怀疑自己的键盘有问题,不过也有可能是我的手指身法太快,键盘还没识别我的纤纤玉指就离开了键盘。感受一下我的coding速度吧。

mysql> create databse db1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databse db1' at line 1
mysql> create databss tudy1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databss tudy1' at line 1
mysql> create database stud1;
Query OK, 1 row affected (0.00 sec)

当这个OK出现之后,时间已经过去半个小时了。学习真是让人身心愉悦,时间过得真的很快,接下来的就是创建表了,好嘛,吃一堑长一智,上次没选数据库直接创建表,这次选好数据库再创建,一气呵成的敲下代码

mysql> CREATE TABLE stu(
    ->     id int, -- 编号
    ->     name varchar(20), -- 姓名
    ->     age int, --年龄
    ->     sex varchar(5), -- 性别
    ->     address varchar(100), -- 地址
    ->     math double(5,2), --数学成绩
    ->     english double(5,2), --英语成绩
    ->     hire_data data --入学时间
    -> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--年龄
    sex varchar(5),
    address varchar(100),
    math double(5,2), -' at line 4

??又是语法错误,第四行的“-”吗?删掉了所有注释再输一遍

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'data

???data哪里错了?hire_data有什么毛病吗?删掉_data再试一遍还是同样的报错提示,再仔细检查一下,噢噢噢噢懂了,又是单词打错了,不是data是date。改掉创建表成功

下一步就是往表里面填数据了,一气呵成的输入

 insert into stu(id,name,age,sex,address,math,english,hire_data)
    -> values
    -> (1,'**',55,'男','杭州',66,78,'1995-09-01'),
    -> (2,'***',45,'女','深圳',98,87,'1998-09-01'),
    -> (2,'***',55,'男','香港',56,77,'1999-09-02'),
    -> (2,'**',20,'女','湖南',76,65,'1997-09-05'),
    -> (2,'**',20,'男','湖南',86,NULL,'1998-05-01'),
    -> (2,'***',57,'男','香港',99,99,'1998-09-01'),
    -> (2,'***',22,'女','香港',99,99,'1998-09-01'),
    -> (2,'****',18,'男','南京',56,65,'1994-09-02');
ERROR 1366 (HY000): Incorrect string value: '\xC2\xED\xD4\xC6' for column 'name' at row 1

????不正确的字符串值?那里不正确了?汉字不是字符串了?这个属实整不会了,百度百度,噢噢噢噢懂了,原来是编码格式啊,看了一下编码格式,latine格式,配置文件改一改就行了,等等,我配置文件不是改过了吗?再重新改一下,重启Mysql,再填数据,还是报同样的错误。

打开CSDN,终于发现一位大佬的回答解决了这个问题,输入

mysql> show create table stu;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                                                                                                                                            |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| stu   | CREATE TABLE `stu` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(5) CHARACTER SET latin1 DEFAULT NULL,
  `address` varchar(100) CHARACTER SET latin1 DEFAULT NULL,
  `math` double(5,2) DEFAULT NULL,
  `english` double(5,2) DEFAULT NULL,
  `hire_data` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

原来是表的行和列字符串没有改编码格式,再输入:

alter table 表名称 列名称 列名称 数据类型 () character set utf8;

mysql> alter table stu change name name varchar(20) character set utf8;

后面需要改的都是这个格式,一气呵成输入数据,接着

mysql> select * from stu;
+------+--------------+------+------+---------+-------+---------+------------+
| id   | name         | age  | sex  | address | math  | english | hire_data  |
+------+--------------+------+------+---------+-------+---------+------------+
|    1 | **           |   55 | 男   | 杭州    | 66.00 |   78.00 | 1995-09-01 |
|    2 | ***          |   45 | 女   | 深圳    | 98.00 |   87.00 | 1998-09-01 |
|    3 | ***          |   55 | 男   | 香港    | 56.00 |   77.00 | 1999-09-02 |
|    4 | **           |   20 | 女   | 湖南    | 76.00 |   65.00 | 1997-09-05 |
|    5 | **           |   20 | 男   | 湖南    | 86.00 |    NULL | 1998-05-01 |
|    6 | ***          |   57 | 男   | 香港    | 99.00 |   99.00 | 1998-09-01 |
|    7 | ***          |   22 | 女   | 香港    | 99.00 |   99.00 | 1998-09-01 |
|    8 | ****         |   18 | 男   | 南京    | 56.00 |   65.00 | 1994-09-02 |
+------+--------------+------+------+---------+-------+---------+------------+
8 rows in set (0.00 sec)

泪目。这时间,已经过去一个小时的。不过万事开头难,往后越来越难,今天的学习就到这里了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值