Mysql学习笔记(五)数据查询之测试sql部分。
正文之前,介绍mysql一些很有趣的命令。
快速的创建表,并填充表数据。
create table test like 已经有的表名;
inset into test select * from from 已经有的那个表名 where 条件;
然后就能把数据插进新建的这个表里面了。
truncate 与delete的区别。
先来说说这个truncate怎么读。看图咯。
这个truncate 与delete的不同在于truncate会清除自增,而delete不清除自增。
#下面都是做练习用的表结构与测试数据。
#教师表 create table teacher( teacher_no char(10) primary key, teacher_name char(10) not null, teacher_contact char(20) not null )engine=innodb default charset=utf8; #班级表 create table classes( class_no int auto_increment primary key, class_name char(20) not null unique, department_name char(20) not null )engine=innodb default charset=utf8; #课程表 create table course( course_no int auto_increment primary key, course_name char(20), up_limit int default 60, description text not null, status char(6) default '未审核', teacher_no char(10) not null unique, constraint course_teacher_fk foreign key (teacher_no) references teacher(teacher_no) )engine=innodb default charset=utf8; #学生表 create table student( student_no char(11) primary key, student_name char(10) not null, student_contact char(20) not null, class_no int, constraint student_class_fk foreign key (class_no) references classes(class_no) )engine=innodb default charset=utf8; #选择表 create table choose( choose_no int auto_increment primary key, student_no char(11) not null, course_no int not null, score tinyint unsigned, choose_time datetime not null, constraint choose_student_fk foreign key (student_no) references student(student_no), constraint choose_course_fk foreign key (course_no) references course(course_no) )engine=innodb default charset=utf8; #向教师表添加测试数据 insert into teacher values('001','张老师','11000000000'); insert into teacher values('002','里老师','12000000000'); insert into teacher values('003','王老师','13000000000'); #向班级表插入数据. insert into classes(class_no,class_name,department_name)values(null,'2012自动化1班','机电工程'); insert into classes(class_no,class_name,department_name)values(null,'2012自动化2班','机电工程'); insert into classes(class_no,class_name,department_name)values(null,'2012自动化3班','机电工程'); #向课程表添加测试数据 insert into course values(null,'java语言程序基础',default,'暂无','已审核','001'); insert into course values(null,'mysql数据库',150,'暂无','已审核','002'); insert into course values(null,'c语言程序设计',230,'暂无','已审核','004'); #向学生表添加测试数据 insert into student values ('2012001','张三','15000000000',1), ('2012002','李四','16000000000',1), ('2012003','王五','17000000000',3), ('2012004','马六','18000000000',2), ('2012005','田七','19000000000',2); #向choose表添加测试数据 insert into choose values (null,'2012001',2,40,'2015-09-20 11:32:59'), (null,'2012001',1,50,'2015-09-20 11:33:59'), (null,'2012002',3,60,'2015-09-20 11:34:59'), (null,'2012002',2,70,'2015-09-20 11:35:59'), (null,'2012003',1,80,'2015-09-20 11:36:59'), (null,'2012004',2,90,'2015-09-20 11:37:59'), (null,'2012005',3,null,'2015-09-20 11:38:59'), (null,'2012005',1,null,'2015-09-20 11:39:59');
select 语句是在所有数据库操作中使用频率最高的SQL语句。首先数据库用户编写合法的select语句,mysql客户机将select语句发送给mysql服务实例。mysql服务实例根据改select语句的要求进行解析、编译。然后选择合适的执行计划从表中查找满足特定条件的若干记录,最后按照规定的格式整理成结果集返回给mysql客户机。
select 语句的语法格式是这样的。
select 字段列表
form 数据源
[where 调教表达式]
[group by 分组字段 [having 条件表达式]]
[order by 排序字段[asc|desc] ]
最近琐事缠身,晚上下班也不能认认真真的敲代码。
现在好像这技术博客,也慢慢的编程心情记录薄了。心情记录簿就记录簿吧,我也不在乎了。本来就视技术的成长为心情的一部分。
今天,注定博客也不能持续更新了。
美玲说,一个有能力的人,是能够同时拥有事业和爱情的。我想我也属于强者。我也不像大学的时候,凡事高傲,不肯低头。那个时候,也有女孩子喜欢。我想高傲神秘有独立的见解,可能也是属于我的个性标签之一吧。
cloose the window ,close the eye, you can see what you want;
最后的这句英语,是我自己杜撰的。不知道脑海为什么会跳出这句子,就留下来吧。