发表于: 2017-02-06 20:28:26
1 2156
今日完成的事:
向student表中插入数据,并能够根据姓名查出来这条记录
insert into student(name,qq,entranceDate) VALUES ('小明','123456','123901238712783');
select * from student where name='小明'
分别用Navcat和Sql语句去将本条数据记录的报名宣言改成老大最帅
update student set fremark='老大最帅' where name='小明'
8、将表导出成Sql文件,并使用navcat和Sql分别尝试删除此条数据,并用之前备份的Sql恢复。
在表上点击右键,选择导出向导或转储SQL文件,都可以讲表导出
删除表数据:TRUNCATE TABLE student 或 delete from student
truncate 与delete 的区别:
tuuncate: 删除所有数据 后面不可以加条件 速度较快 无法退回
delete: 可选择删除数据 后面可以加条件where ...(name='小明') 速度较慢 可以退回
9、给姓名建索引,思考一下还应该给哪些数据建索引
参考: http://www.jb51.net/article/73372.htm
ALTER table student ADD INDEX name_index (name)
通常情况下:当表数据量较大的时候,需要给需要查找where的列和需要排序的列order by 添加索引
两个表相关联也需要添加索引,所以class列(与班级表管理)和studyNum列(排序)需要添加索引
ALTER table student ADD INDEX studyNum_index (studyNum)
ALTER table student ADD UNIQUE (class)
10、插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率
在插入10条数据时 ,有索引和无索引真的看不出差距。
我调整为插入500条数据,在无索引的情况下用时11.946s ,
在有索引的情况下用时12.862s
说明索引会影响插入的数据。因为在插入数据时要维护索引,并且在有唯一索引时,在插入数据前要先查重,这就导致 数据量越大,对插入数据的影响也就越大。
遇见问题:
1.不懂 三个基本的字段,ID(自增Long),create_at,update_at(所有的时间都用Long) 是什么意思?字段不是应该是表的字段么??是不是意思是每一个表中都需要含有这三个字段??
2在插入数据时 插入中文出现乱码。
解决方案,在navacit中编辑数据库 ,将表默认编码设为UTF-8
并将字段的字符集也设成utf-8
明日计划:
11、12、13、14、15、16、17
评论