php基础-常用SQL

93 阅读2分钟
  • 什么是SQL?

    SQL 是用于访问和处理数据库的标准的计算机语言。 在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。

  • SQL基本概述

    注释用 --

    语句结束加分号(;)

    常用操作: 增 删 改 查

  • 插入数据insert

-- insert into 表名 (字段列表) values (值列表)
insert into book (name,author,category,price) values ('天龙八部','金庸','文学',20)
  • 修改数据update
-- update 表名 set 字段名称1=值1,字段名称2=值2,... where 条件
update book set name='笑傲江湖',price='30' where id=10
  • 删除数据delete
-- delete from 表名 where 条件
delete from book where id=10
  • 查询数据select
-- select * from 表名 where 条件
select * from book where author='金庸' and price>20

SQL高级

  • where子句

    查询时,不添加where条件返回数据表所有行。需要添加限定条件,只返回需要的行。

select  字段列表 from  table where子句;

 

  • Like 模糊匹配  % 通配符
	-- 查找姓张的人
	select * from table where name like '张%';
  • in 语法:一次查询多个符合条件的数据
	select  字段列表 from tb where  字段 in  (value1,value2,value3);
  • Count() 获取返回数据的总条数
	-- 查询满足条件数据的总条数	
	select count(*) from table where 条件
  • limit 子句

返回查找结果中的前n行 

	 select 字段列表  from  table  limit 截取的起始索引,截取的长度 
  • 连接查询
	select 字段列表 from  A joinon  A.字段  =  B.字段 [where子句];

查询学生基本信息以及班级信息:

  • 注意各个子句之间的顺序。
	select 字段列表  from  table  where 子句 
  • 示例:

创建学生表 :编号 、姓名、年龄、性别

-- ----------------------------
-- Table structure for stu1
-- ----------------------------
DROP TABLE IF EXISTS `stu1`;
CREATE TABLE `stu1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of stu1
-- ----------------------------
INSERT INTO `stu1` VALUES ('1', '张三', '18', '男');
INSERT INTO `stu1` VALUES ('2', '李四', '19', '女');
INSERT INTO `stu1` VALUES ('3', '王五', '22', '男');
INSERT INTO `stu1` VALUES ('5', '赵六', '18', '女');
INSERT INTO `stu1` VALUES ('6', '田七', '15', '男');
INSERT INTO `stu1` VALUES ('7', '王八', '16', '女');
INSERT INTO `stu1` VALUES ('8', '李狗蛋', '18', '男');
INSERT INTO `stu1` VALUES ('9', '李元芳', '20', '男');
INSERT INTO `stu1` VALUES ('10', '张飞', '16', '男');