yhero带你学php十课 mysql.doc
文本预览下载声明
十七、表连接:我们所要查询的结果不在一个表内,可以使用表连接
表连接语法格式:
select tbl_name1.*,tbl_name2.*
from tbl_name1 join_type tbl_name2
on tbl_name1.column =tbl_name2.column
select 关键字
tbl_name1.*:表1的所有字段
tbl_name2.*:表2的所有字段
from:关键字
tbl_name1:表1
join_type:取值:inner join、left join、right join
tbl_name2:表2
on:关键字
tbl_name1.column =tbl_name2.column:两个表的连接字段
1、内连接:将两个表以相关字段进行连接,返回匹配的所有数据
李四的个人信息及考试成绩
个人信息:在student表内
Select * from student where name=’lisi’
考试成绩:在score表内
Select score from score;
Select student.*,score.score from student inner join score on student.id=score.stuId where name=’lisi’;
内连接的第二种形式
select tbl1.*,tbl2.*
from tbl1,tbl2
where tbl1.col_name=tbl2.col_name
select:关键字
tbl1.*:表1的所有字段
tbl2.*:表2的所有字段
from:关键字
tbl1,tbl2:表1的名,表2的名
where:关键字
tbl1.col_name=tbl2.col_name:两个表之间关联字段
2、左连接:以左边的表为标准
查询所有同学的成绩、如果没有考试的话,也查询出来
3、右连接:以右边的表为标准
十八、子查询:查询条件在另外一个查询结果之中
语法格式:
select col_name from tbl_name
where col_name = (=、in)
(select col_name //子查询语句
from tbl_name2
where col_name=value)
select:关键字
col_name:最终需要显示的信息
from:关键字
tbl_name:表1
where:关键字
col_name:表1的关联字段
=:匹配一个值
in:匹配多个值
子查询语句:
Select :关键字
Col_name:可以和外部查询匹配的字段名称
From tbl_name:关键字 表名
Where:条件
Col_name=value:最终条件
李四的考试成绩
需要什么,返回什么
Select score from score;
//不知道哪个id属于李四,所以要有另一个查询,可以将李四的id查询出来,然后进行匹配
Select id from student where name =’lisi’;
全班男同学的成绩
Select score from score
Select * from student where sex=’男’;
Select score from score where stuId in(select id from student where sex=’男’);
十九、批处理
用文件对大批量数据进行处理
格式:
需要在bin下创建一可以执行的sql脚本
1、mysql –u root –p 执行文件 //直接执行,如果有输出将直接打印
2、mysql –u root –p 执行文件 数据保存文件 //直接执行,如果有输出将保存到文件中
二十、帐户管理
创建用户
语法:
create user user identified by‘password’
create user:关键字
user:用户名
identified by:关键字
‘password’:密码
删除用户
drop user user
drop user:关键字
user:用户名
设置密码
set password for user=password(‘userpassword’)
set password for:关键字
user:用户名
password:系统函数
userpassword:用户新密码
权限管理
语法格式:
1、赋予权限
grant all on *.* to user@’host’
grant:关键字
all:权限列表(all表示所有权限、delete、insert)
on:关键字
*.*:数据库名.数据表名
to:关键字
user:用
显示全部