标签:
C/S:Client Server
B/S:Brower Server
PHP主要实现B/S
.net IIS java TomCat
LAMP:Linux系统 A阿帕奇服务器 Mysql数据库 PHP语言
WAMP:Windows系统 A阿帕奇服务器 Mysql数据库 PHP语言
mysql:常用代码
create table ceshi1
(
Uid varchar(50) primary key,
Pwd varchar(50),
Name varchar(50)
Nation varchar(50),
foreign key (Nation) references Nation(Code)
)
写查询语句需要注意:
1.创建表的时候,最后一列后面不要写逗号
2.如果有多条语句一起执行,注意在语句之间加分号分隔
3.写代码所有符号都是半角的
关系型数据库:表和表之间是有关系存在的
创建表的几个关键字:
1.主键: primary key
2.非空: not null
3.自增长列:auto_increment
4.外键关系: foreign key (列名) references 表名(列名)
修改表:
1.alter table 表名 需要修改的内容
2.alter table 表名 add primary key (列名) #添加列为主键
3.alter table 表名 add primary key (列名,列名) #添加两个列为组合主键 add 添加 delete 删除
CRUD操作:
1.添加数据:
insert into 表名 values(值,‘值‘) #要求values括号里面值的个数要跟表里面列数相同 字符串需要加‘‘
insert into 表名 (列名,列名) values(‘值‘,‘值‘) #添加指定列的值
2.修改数据:
update 表名 set 列名=新值 where 条件
3.删除数据:
delete from 表名 where 条件
4.查询数据:
1.普通查询,查所有的:
select * from 表名 #查所有数据
select 列名,列名 from 表名 #查指定列
2.条件查询
select * from 表名 where 条件 #一个条件
select * from 表名 where 条件 and 条件 #两个条件并的关系
selecgt * from 表名 where 条件 or 条件 #两个条件或的关系
3.排序查询
select * from 表名 order by 列名 #默认升序排列 asc 如果要降序排列 desc
select * from 表名 order by 列名 desc,列名 asc #多列排序用逗号隔开
4.聚合函数
now()现在的时间
year(日期) 取年
month() 取月份
day() 取日期
abs(x) 返回x的绝对值
ceil(x) 返回大于或等于X的最大整数
floor(x) 返回整数位
rand()*x 返回一个0-x之间的随机数
pi() 返回圆周率(3.1415926)
truncate(1.23456,x) 截取到第x位
sqrt(x) 求x的平方根
mod(x,y) 取x/y的余数
char_length(abc) 取括号内字符串的长度
concat(‘abc‘,‘hgk‘) 合并括号内字符串
concat_ws(‘/‘,‘aaa‘,‘bbb‘) 合并字符串 以/ 分开
insert(‘123456‘,x,y,abc) 替换字符从x开始替换y个字符串
lower() 转换成小写
left(‘abcde‘,x) 从前面开始截取x个字符
right(‘abcde‘,x)从后面开始截取x个字符
repeat(‘abc‘,x) abc重复出现x次
space(n) 返回n个空格
select count(列名) from 表名 #取个数
select sum(列名) from 表名 #查询列的和
select avg(列名) from 表名 #查询列的平均值
select max(列名) from 表名 #查询列的最大值
select min(列名) from 表名 #查询列的最小值
select * from 表名 where 列名 between 值 and 值 #列名的值 在两个值之间
5.分页查询
select * from 表名 limit (i-1)*n,m #跳过n条数据取m条数据 i页
6.分组查询
select 列名 from 表名 group by 列名 #简单分组查询
select 列名 from 表名 group by 列名 having count(*)>x #查询系列数量大于x的系列 having 后面相当于条件 符合大于x个数的才显示
7.去重查询
select distinct(列名) from 表名
8.修改列名
select 列名 as ‘新列名‘ from 表名
9.模糊查询
select * from 表名 where 列名 like‘值%‘ # %代表任意多个字符 %值% 包含 _代表一个字符
10.离散查询
select * from 表名 where 列名 in(‘值‘,‘值‘,‘值‘)
select * from 表名 where 列名 not in(‘值‘,‘值‘,‘值‘)
Select * from 表名 where 列名<all (子查询多个数)
高级查询:
1.链接查询
select * from 表名,要连接的表名 #得出的结果称为笛卡尔积
select * from 表名,要连接的表名 where 表名.列名=要连接的表名.列名
join on 链接
select * from 表名 join 要连接的表名 #join链接
select * from 表名 join 要连接的表名 on 表名.列名=要连接的表名.列名
2.联合查询
select 列名,列名 from 表名
union
select 列名,列名 from 要联合的表名
列数要相同
3.子查询
1)无关子查询
select * from 表名 where 列名=‘要查询的内容‘
select * from 表名 where 上面表的表名=(要查询的内容)
select * from 表名 where 关联的表名=(select * from 关联的表名 where 列名=‘要查询的内容‘)
子查询查询的结果被父查询使用,子查询可以单独执行的称为无关子查询
2)相关子查询
select * from 表名 where 列名<(内容的平均数) #查询内容小于括号内的平均数
select avg(列名) from 求平均的表名 where 列名=‘值‘ # 查询某列的平均值
select * from 表名 a where 列名<(select avg(列名) from 表名 b where b.列名=‘a.列名‘)
标签:
原文地址:http://www.cnblogs.com/zbxiaoxu/p/5477322.html