发表于: 2017-12-04 21:25:01
1 734
今天完成的事情:
以下步骤如无特殊说明则是在MySQL的命令行客户端完成的
1、删除数据库
DROP DATABASE q1;
2、建立数据库:
CREATE DATABASE q1;
3、选定数据库
USE q1;
4、创建表
CREATE TABLE student(
id bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
qq varchar(255) NOT NULL,
type varchar(255) NOT NULL,
entry_date varchar(255) NOT NULL,
school varchar(255) NOT NULL,
student_id varchar(255) NOT NULL,
day_link varchar(255) NOT NULL,
motto varchar(255) NOT NULL,
known_from varchar(255) NOT NULL,
PRIMARY KEY(id)
);
5、查询表结构
SHOW COLUMNS FROM student;
6、增加列
ALTER TABLE student ADD create_at bigint(20);
ALTER TABLE student ADD update_at bigint(20);
7、修改客户端编码集
SET names gbk;
8、查看编码集
SHOW variables LIKE '%chara%';
9、插入数据
INSERT INTO student (name,qq,type,entry_date,school,student_id,day_link,motto,known_from)
VALUES ('王梦男','1525968046','前端工程师','2017年11月24日','济南工程','4209','http://www.jnshu.com/daily/40849','立志成为一个让人敬仰的前端大牛','知乎');
10、查询数据
SELECT * FROM student
WHERE name = '王梦男';
11、修改数据
UPDATE student SET motto = '老大最帅'
WHERE name = '王梦男';
12、导出表
这里需要 系统的 [命令行],同时需要将MySQL 的 bin 目录添加到 [环境变量] 中
mysqldump -u root -p q1 student > d:\student.sql
13、删除表
USE q1;
DROP TABLE student;
SHOW tables;
14、导入表
USE q1;
SOURCE d:/student.sql;
SHOW tables;
15、设定索引
USE q1;
ALTER TABLE student ADD INDEX idx_student_name(name);
16、查看索引
USE q1;
SHOW INDEX FROM student;
明天计划的事情:
目前并没有看到有[索引]和无索引的性能差别...都是 0.00 second 。可能是[数据量]太小吧。明天尝试下增加数据量,然后看下差别。
学习下 [Maven 3] 的配置与基本使用。
遇到的问题:
遇到了[字符集]不匹配的问题:
Windows 7 系统下 [命令行界面] 默认是 [GBK编码],而数据库则是 [UTF-8编码],在输入数据时(尤其是中文字符)时会遇到问题。
通过搜索,发现可以通过临时设定数据库 连接的编码 来达到正常输入的目的。
参考文章链接:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html
方法如下:
在命令行界面 需要插入或查询中文相关的数据之前,使用
set names gbk;
如此一来,在命令行界面输入和查询中文就没问题了,但是还有更方便的方法,那就是直接用 [Navicat] 里的命令行模式。
使用 [SOURCE] 命令导入的话 目录间隔是 [正斜杠 / ] ,否则会提示 打开文件失败
收获:
今天敲[SQL语句],出现了很多拼写错误...还是不够熟练。
同时,不同方式的数据库的导入和导出能够备份的内容是不一样的,[Navicat] 的表导出功能不能够导出表的结构。
另外就是字符编码真是麻烦的东西,尤其是在查询的时候,跟本不会报错...不是很好排查。
今天也查了不少资料,很多都是网页。
保存网页的话个人觉得 Chrome内核浏览器 提供的 另存为 单个网页的功能非常实用,既能够保存内容也能够保存格式,而且还能复制粘贴=。=。
评论