您的位置:首页 > 数据库 > MySQL

Mysql学习笔记(五)数据查询之测试sql部分。

2015-09-21 22:09 946 查看
正文之前,介绍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;

最后的这句英语,是我自己杜撰的。不知道脑海为什么会跳出这句子,就留下来吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: