MySQL——语法大杂烩

1.与数据库有关
create database 数据库名;//----->创建数据库
drop database 数据库名;//----->删除数据库
show databases;//----->查看数据库
show create database 数据库名;//----->查看数据库的定义声明
use 数据库名;//----->切换数据库
2.与表有关
show tables;//----->显示数据库中的所有表
//select
select * from 表名;//----->查询表中所有记录
select 列名 from 表名;//----->查询表中该列的内容

	//distinct
select distinct 列名 from 表名;//----->显示列中唯一不同的值(列中重复的数据,只显示一次)

	//where
select 列名 from 表名 where 列 运算符 值;//----->按条件查询
select * from t_student where id=10;//----->显示t_student表中id为10的记录
select * from t_student where stu_number='2016060512' ;//----->显示t_student表中学号为2016060512的记录
		//between
select * from t_student where id between 10 and 12 ;//----->显示t_student表中id在10和12之间的记录
select * from t_student where id >= 10 and id <=12 ;//----->显示t_student表中id大于等于10,小于等于12的记录
		//and & or
select * from t_student where phone_number = '1345689754'and username='zzw';//----->显示t_student表中电话号码为1345689754且用户名为zzw的记录(两条件均满足)
select * from t_student where id = 20 and username='hs';//----->显示t_student表中id为20或用户名为hs的记录(两条件满足之一即可)

	//order by
select stu_number,score,create_time,update_time from t_score order by score desc ;//----->以score降序排列显示t_score表中的stu_number,score,create_time,update_time的内容
select stu_number,score,create_time,update_time from t_score order by score ;//----->以score升序排列显示t_score表中的stu_number,score,create_time,update_time的内容(默认为升序)
 
// insert into
insert into 表名 (1,2,...) values (1,2,....);//----->在指定表中添加记录
insert into t_student(username,stu_number,phone_number,create_time,update_time)values("zs","2016060520","0123456789",now(),now());//----->在t_student表中添加一条记录,username=zs,stu_number=2016060520,phone_number=0123456789,create_time和update_time设置为当前时间

//update set
update 表名 set 列名 = 新值 where 指定条件;//----->更新表中的记录
update t_student set stu_number=2016060521 where username='zs';//----->将t_student表中username=zs的那条记录的stu_number改为2016060521

//delete
delete from 表名 where 列名=;//----->删除表中的指定记录
delete from t_student where username = 'zs';//----->删除t_student表中,username=zs的记录
delete from 表名;//----->删除表中的所有记录
delete * from 表名;//----->删除表中的所有记录

//limit
select * from 表名 limit 条数;//----->指定返回记录的条数
select * from t_student limit 5;//----->显示表中的前5条记录

//like
select * from t_student where phone_number like '158%' ;//----->显示t_student表中电话号码以158开头的记录
select * from t_student where phone_number like '%5' ;//----->显示t_student表中电话号码以5结尾的记录
select * from t_student where phone_number like '%987%' ;//----->显示t_student表中电话号码包含987的记录

//% 代替一个或多个字符
// _只代替一个字符
select * from t_student where username like 'p%';//----->显示t_student表中username以p开头的记录
select * from t_score where like '_9';//----->显示t_score表中,score的个位数为9的记录
SELECT * from t_student where phone_number like'138_256_8_';//----->显示t_stuent表中phone_number设置4,8,10为未知,其他为已知的记录

//in
select * from 表名 where 列名 in(1,2,...);//----->显示表中指定字段值的记录
select * from t_student where stu_number in(2016060501,2016060513,2016060508) ;//----->显示t_student表中,满足stu_number为2016060501,2016060513,2016060508的记录

//join
select * from t_student join t_score on t_student.stu_number= t_score.stu_number;//----->利用两个表中stu_number的联系,显示两个表中的数据

//Alias为列名称和表名称指定别名
select * from t_student as a join t_score as b on a.stu_number= b.stu_number;//----->给表指定别名
select username as '用户名' from t_user;//----->给列指定别名
select a.username,a.stu_number,b.score,a.create_time,a.update_time from t_student as a join t_score as b on a.stu_number= b.stu_number order by b.score desc ;//----->给t_student表指定别名为a,t_score表指定别名为b,并以b表中score的降序排列的方式,显示a表中的username,stu_number,create_time,update_time,以及b表中的score

//left join(左连接)
select a.username,a.stu_number,b.score,a.create_time,a.update_time from t_student as a left join t_score as b on a.stu_number= b.stu_number ;//----->连表查询,显示表a中有的字段,对于b中没有的则值为null

//right join(右连接)
select a.username,a.stu_number,b.score,a.create_time,a.update_time from t_student as a right join t_score as b on a.stu_number= b.stu_number ;//----->连表查询,显示表b中有的字段,对于a中没有的则值为null

//inner join(内连接)
select t_student.username,t_student.stu_number,t_score.score,t_student.create_time,t_student.update_time from t_student inner join t_score on t_student.stu_number= t_score.stu_number ;//----->连表查询,显示表a和b都有的字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章