MySQL数据库CRUD语句快速入门(二)

2014-11-24 13:55:03 · 作者: · 浏览: 7
good boy');
insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(3,'xiaohong','female','1983-11-23',1800,'2010-2-18','good girl');
insert into employee(id,name,sex,birthday,salary,entry_date,resume) values(4,'赵楠','男','1986-11-23',3800,'2011-2-18','绝种好男人');
// 查看表的所有记录
select * from employee;
// 查看数据使用的所有编码
show variables like 'character%';
// 修改客户端的编码 为 gbk
set character_set_client=gbk;
// 修改结果集的编码为gbk
set character_set_results=gbk;
// insert 语句的其他写法
create table a
(
username varchar(20),
password varchar(20)
);
insert into a values('zs','111');
insert into a values('wangwu','2222'),('lisi','3333');
insert a values('aaa','bbb');
insert a (username) values('aaa');
2. update语句 www.2cto.com
将所有员工薪水修改为5000元
update employee set salary=5000;
将姓名为’zhangsan’的员工薪水修改为3000元。
update employee set salary=3000 where name='zhangsan';
将姓名为’lisi’的员工薪水修改为4000元,sex改为female。
update employee set salary=4000,sex='female' where name='wangwu';
将xiaohong的薪水在原有基础上增加1000元
update employee set salary=salary+1000 where name='xiaohong';
3. delete语句
删除表中name为’赵楠’的记录。
delete from employee where name='赵楠';
删除表中所有记录。Delete是一条条的删,如果条目很多的话,会效率很低
delete from employee;
使用truncate删除表中记录。 摧毁表再创建表 尽量用这个
truncate employee;
4. select语句
student.sql
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
);
insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92);
insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);
insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);
查询表中所有学生的信息。
select * from student;
查询表中所有学生的姓名和对应的英语成绩。
select name,english from student;
过滤表中重复数据。
select distinct english from student;
在所有学生分数上加10分特长分。
select name,english+10,chinese+10,math+10 from student;
统计每个学生的总分。
select name,english+chinese+math as sum from student;
使用别名表示学生分数。
where 子句
查询姓名为李一的学生成绩
select * from student where name='李一';
查询英语成绩大于90分的同学
select * from student where english>90;
查询总分大于200分的所有同学
select name,english+chinese+math sum from student where english+chinese+math>200;
此处可以不用as
运算符 www.2cto.com
查询英语分数在 80-90之间的同学。
select * from student where english between 65 and 85;
查询数学分数为89,90,91的同学。
select name,math from student where math in(89,90,91);
查询所有姓李的学生成绩。
select * from student where name like '李%';
// 查询姓李的两个字的学生
select * from student where name like '李_';
查询数学分>80,语文分>80