最后修改日期:2014-7-27
所操作的MySQL数据库名:firstdb
所用的两个表结构如下:
student表
number name socre born_date
1 张三 96 2000-01-01
2 李四 98 1999-4-23
... ... .. ........
customer表
id firstname surname
1 张 三
2 李 四
3 王 五
4 麻 六
... ... .....
以上表为例进行如下增删改查操作
增加操作
增加一个数据库: create database firstdb;
增加一个表结构: create table student(number int,name varchar(20),score float,born_date date)0;
增加一行数据: insert into student(number,name,score,born_date) values(5,'zhang',100,'1994-11-11');
增加多行用多个(,,,,),之间用逗号隔开(student中的参数可以省略)。
增加一列数据: alter table student add birthday DATE;
查询操作
<一>简单基础查询
:
显示所有数据库: show databases;
显示指定数据库的所有表: show tables;(注:使用前需要指定使用哪个数据库,use databasename;)
显示指定的数据库: show create database databasename;(注:databasename为数据库名)
显示指定的表: show create table tablename; (注:tablename为表名)
显示表结构: describe tablename;
按成绩从小到大排列显示: select * from student order by score;
按成绩反序排列显示: select * from student order by score desc;(注desc 为反序,如果不指定默认值为asc)
限制输出一行: select * from student order by score desc limit 1;
第一个参数为偏移量,
第二个参数为距离偏移量显示的行数 select * from student order by score desc limit 0,5;
根据姓名查询数量: select count(name) from student;
根据姓名查询数量,区别重名: select count(distinct name) from student;
根据姓名显示表中的详细信息,区别重名 select distinct name from student;
区别所有元素显示表中的详细信息: select distinct * from student;
显示成绩最大值: select max(score) from student;
显示成绩最小值: select min(score) from student;
显示成绩平均数: select avg(score) from student;
显示成绩总和: select sum(score) from student;
数据库也可用于普通数值计算: select 2*2;
显示的所有信息中成绩+10: select number,name, score+10 from student;
显示当前时间,日期: select now(),current_date();
显示born_date的年份: select year(born_date) from student;
显示born_date的月份: select month(born_date) from student;
显示born_date的日期: select dayofmonth(born_date) from student;
<二>高级查询:
变量别名显示: select name,month(born_date) as month,dayofmonth(born_date) as day from student;
使用concat()函数连接列显示: select concat(number,name) as name from student; (注:concat(字符串1,字符串2,...)
显示一年中的第几天: select dayofyear(born_date) from student;(注:也可以计算具体数值如:select dayofyear('1994-11-11');)
显示两个表中姓名后缀相同的数据的所有属性: select * from student,customer where right(student.name,1)=customer.surname;
删除操作
删除整个数据库: drop database firstdb;(注:drop database 数据库名;)
删除整个表: drop table student;
删除表中的number为1的一行: delete from student where number= 1;
删除表中的一列: alter table student drop born_date;
更改操作
改变表中的数据: update student set born_date='1994-11-11' where number=1;
改变表中数据变量名,允许新旧名重复: alter table student change born_date birthday;
改变表中变量数据类型: alter table student modify born_date date;
为表重命名,两种方法: alter table student rename newname;
alter table student rename to newname;