发表于: 2017-09-08 00:08:18
7 958
今天完成的事情:
1.完成任务一 5-8
2.掌握数据库的基本操作,建立数据库,建立表,写入数据,根据某一项得到相关的数据。
3.学习了数据库中的一些命令,对命令提示符中的命令有一些了解,
比如:连接数据库的时候。在命令行输入命令
mysql -h localhost -u root -p
mysql:命令名称
-h:是--host的简写形式。代表选项参数/选项名,对大小写敏感!!!如-v 和-V代表的选项是不一样的。
-v和-V分别是--verbose和 -version的短写
localhost:是选项值,部分选项名后面个要跟选项值的 -h localhost 和--h=localhost等价代表服务器的主机名,短写的选项名可以紧跟选项值,-hlocalhost也可以加一个空格。
例外情况:数据库的密码 如-p紧跟选项值的时候是密码,其他情况就不是密码了,因为他分不清空格算不算一个密码。
所以可以写成mysql -h localhost -u root -ppassword这种不安全,因为在控制台直接输入,是可见的。所以在-p 不跟选项值,程序会提示输入密码。
4.在创建数据库的时候。navicat要选择字符集的选项。所以学了一下
数据库是提供字符集和校对规则的,字符集就是一套字符和编码。
自定义一套字符集:如 'a' = 10 'b' = 11
对于觉对规则就是,对字符比较的规则等等,不填应该就是默认的
5.自做项目的时候,要尽量使用Long类型,我所以理解的Long类型就是大吧。
对于数据库,数字:bigint 字符:varchar 时间:datetime 或date(看情况)
百度的时候,看到曾经百度公司,因为没有定义大的类型,导致后来排查了好久才回复,是很大的工作量。
6.
两种方法利用 命令行插入数据
1
你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N)。例如,Whistler鸟的记录应为(这里值之间的空白是一个定位符):
name | owner | species | sex | birth | death |
Whistler | Gwen | bird | \N | 1997-12-09 | \N |
要想将文本文件“pet.txt”装载到pet表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“pet.txt”的语句已经足够
2.sql INSERT语句
8.学习了原码补码 移码等知识
明天完成的事情:
1.,明天时间相对充足,所以最少任务9-14(首要)
2. 数据结构的两道题要做了。。。今天没做成。。
3.算法学些
4.实战学一些
遇到的问题:
1.在用 load infile的时候,怎么都导不进去。现在为止还没有解决。
在命令行插入数据太烦了,终于知道为社么会有数据库图形管理软件了,插入的时候,顺序要匹配,长度要匹配,对于一些有条件的插入,不能给错。反正这里卡了好长时间,,,,
我发现 :插入数据的时候,bigint类型的数据,可以用单引号括起来,也可以不括 没有影响
2.也是在插入数据的时候,可能是之前没有定义字符集的原因,导致用命令行插入不了汉字。。。只能被迫做了两版 一个用命令行插入了英文。在navicat上创建中文版。
然而中文版显示在命令行中还是乱码。后面查值的时候,也匹配不了。明天看看能不能解决

3.在导出数据库的时候,刚开始没看到要用sql到处,所以用了txt格式导出,导致后来没有恢复成功,就重新写了一个表,然后再导出sql格式的表,然而。等我删除之后,再导就发现不提供sql格式导入,??这里的明天在研究研究
收获:
今天课很多!!基本满课,只有晚上学习的时间,所以有点慢,不过收获还是有的,明天继续努力ps:今天的格式对了吧。。pps:今天的日报花了我大概一个小时!!我的天哪
评论