1、* 培训内部资料 *结构化查询语言_ SQL第一部分:简介一、SQL :(Structured Query Language)结构化查询语言。性质:关系型的数据库语言二、应用:可单独使用,也可以潜入到其它软件中使用。 (例如:嵌入到 Visual Foxpro 中)三、使用说明:可以在命令方式(交互方式)和代码窗口方式(程序方式)中使用主要掌握:create table 、select from where 、insert into 、delete、update set 以下红色部分均为重点内容。第二部分:SQL 数据定义功能一、 使用 DDL(数据定义语言)实现数据定义二、 基本数据类型:数
2、值型、字符串型、时间型、二进制型号三、 创建数据表:Create table (.) 参数例如:create table 学生(学号 C(8),姓名 C(8),出生日期 D,高考成绩 N(6,2)四、 修改表结构:Alter Table add alter drop 例如:alter table 学生 add 性别 Lalter table 学生 drop 三好生 (删除三好生字段)alter table 学生 alter 姓名 char (13) (alter 后面可以加参数 column)五、 索引创建:create index . on 删除:drop index 数据表名.索引名第三部
3、分:SQL 数据查询功能一、 基本格式:select 字段 as 别名 from 若干张表 where 条件表达式select : 选择 from :操作表 where : 条件例如:(表不需要先打开) select * from 学生select 姓名,性别 from 学生select 姓名 as name ,性别 from 学生sele 姓名 as 高分女生 from 学生 where 性别=”女” and 入校总分580二、 其它参数:1、 between 例如; select 姓名 from 学生; where 性别=男 and 入校总分 between 560 and 5802、 O
4、rder by 例如:select * from 学生 order by 入校总分 DESC3、 通配符的使用:_ 通配一个字符(或汉字) % 通配全部字符例如:select 姓名 from 学生 where 姓名 like “张%”select 姓名 from 学生 where 姓名 like “_小_”4、 确定集合参数:IN例如:select 姓名 from 学生 where 性别 in(“男”)5、 查询统计:AVG、SUM、COUNT、MAX、MIN例如:select avg(入校总分) as 入校总平均分 from 学生6、 分组查询:Group by . Having例如:sel
5、ect 姓名 from 学生 group by 性别select 教师号 from 授课表 group by 教师号 having count(*)1(查询上了两门课以上的教师的教师号)三、 多表的查询连接查询:1、 连接的方法:(1)from 多个表名 where 连接条件 (2)使用 join 短语2、 分类:自然连接(等值和非等值连接) 、自身连接、外连接、 (复合条件连接查询)3、 等值和非等值连接:例如: select 学生 .学号,学生.姓名 ,选课.* from 学生,选课 where 学生.学号=选课 .学号4、 自身连接:(表与自己连接,用于相互比较)例如:select X.
6、姓名 from 学生 as X,学生 as Y ;where X.入校总分Y.入校总分 and Y.姓名=”江冰”四、 嵌套查询:Select 中包含 Select 语句。Select 姓名 from 学生 where 学号=(select 学号 from 学生 where 入校总分=592)其它参数:any、in、all、exists五、 查询输出:into table select * from 学生 where 性别=”男” into table abc在当前目录产生表 abc.dbf第四部分:SQL 数据更新功能一、插入记录:Insert . Into .格式:insert into
7、(列名) values (值.)insert into 学生(学号,姓名,性别,出生年月,入校总分,三好生) ;values(“S02011111“,“艾符四“,“ 男“,1982/09/08,567,.t.)二、删除记录:Delete格式:delete from where 例如:delete from 学生 where 姓名=” 王小平”也可以写为: delete from 学生 where 学号=(select 学号 from 学生 where 姓名=”王小平”)注意:删除是逻辑删除,既是说加了删除标记而已。三、修改记录:Update . Set .格式:Update set where 例如:Update 学生 set 入校总分 =577 where 姓名=”江冰”例 2:update 学生 set 入校总分=577 where 学号 in ;(select 学号 from 学生 where 入校总分560)