第1章access数据库基础内容摘要:

base_name.[ owner].| owner. ] table_name ({ column_definition | column_name AS puted_column_expression | table_constraint }| [, … n] ) 示例 在企业管理器中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击表对象,并从弹出的快捷菜单中选择“新建表”选项 ,然后按步骤操作即可。 创建表 上一页 下一页 返回首页 在示例数据库中创建学生表 , 该表包含了学生的有关信息:学号 、 姓名 、 性别 、 班级 、 年龄。 USE 示例数据库 CREATE TABLE 学生表 ( 学号 int NOT NULL , 姓名 varchar (50) NULL , 性别 char (1) NULL , 班级 char (10) NULL , 年龄 int NULL ) ON PRIMARY 创建表示例 上一页 下一页 返回首页 ALTER TABLE table_name { [ ALTER COLUMN column_name { new_data_type [ (precision [, scale ] )]} |ADD { [ column_definition ] } [, … n ] |DROP COLUMN column} [ , … n ] 1.用 ALTER TABLE增加、删除、修改字段 例:在学生表中,增加一个字段“出生年月”,该字段的数据类型为 datetime,允许为空,没有默认值。 ALTER TABLE 学生表 ADD 出生年月 datetime null 2.在企业管理器中增加、删除、修改字段 在企业管理器中,打开指定的服务器中要修改的表的数据库 , 用右键单击进行修改的表,从弹出的快捷菜单中选择“设计 表”选项,然后按步骤操作即可。 修改、删除表结构 上一页 下一页 返回首页 删除表就是将指定的表中的数据和表的结构从数据库中永久性地去除。 表删除之后 , 就不能再恢复该表的定义。 3.删除表的结构 删除表也可以使用 DROP TABLE语句 , 该语句的语法形式如下: DROP TABLE table_name 可以使用企业管理器删除表 , 在该工具中 , 打开指定表所在的数据 , 右击该表 , 从弹出的菜单中选择 “ 删除 ” 项即可。 当然 , 系统表不能被删除。 如: DROP TABLE 学生表 修改、删除表结构 上一页 下一页 返回首页 表创建之后 , 只是一个空表。 因此 , 向表中插入数据是在表结构创建之后 , 首先需要执行的操作。 在表中插入数据 , 使用 INSERT语句。 该语句的语法形式如下: 1.插入数据 例:要求往学生表中插入一行数据:学号为 999999, 姓名为张小三 , 性别为男 , 其它情况未知。 可用以下三种方式完成: INSERT [ INTO ] table_name [ ( column_list) ] { VALUES ( DEFAULT | NULL | expression [, … n] ) | DEFAULT VALUES} INSERT INTO 学生表 ( 学号 ,姓名 ,性别 ) VALUES(39。 99999939。 , 39。 张小三 39。 , 39。 M39。 ) INSERT INTO 学生表 VALUES(39。 99999939。 , 39。 张小三 39。 , 39。 M39。 ,NULL,NULL) INSERT INTO 学生表 VALUES(39。 99999939。 , 39。 张小三 39。 , 39。 M39。 , DEFAULT , DEFAULT) 注意: INSERT语句每一次只能插入一行数据,在向表 中插入数据时要注意,字符数据和日期数据要 使用单引号引起来。 操纵数据 上一页 下一页 返回首页 可以使用 UPDATE语句修改表中已经存在的数据。 UPDATE语句既可以一次修改一行数据 , 也可以一次修改多行数据。 其语法形式如下: 2.修改数据 例: 将学生表中学生的年龄都提高 1岁 UPDATE table_name SET { column_name= { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [, … n ] [ FROM { table_source } [, … n ] ] [WHERE search_condition ] UPDATE 学生表 SET 年龄 =年龄 +1 操纵数据 上一页 下一页 返回首页 删除数据可以使用 DELETE语句。 DELETE语句可以一次从表中删除一行或多行数据。 其语法形式如下: 3.删除数据 例: 删除学生表中班级为 GZ02房产的全部学生信息。 DELETE [ FROM ] table_name [ FROM { table_source } [, … n ] ] [ WHERE search_condition ] DELETE FROM 学生表 WHERE 班级 =39。 GZ02房产 39。 注意: DELETE 语句只是删除表中的数据,表本身依然存在于数据库中。 如果需要删除表本身,则应使用前面已经讲 过的 DROP TABLE语句。 返回本章目录 操纵数据 上一页 下一页 返回首页 数据检索就是把数据库中存储的数据根据用户的需求提取出来的过程 , 并且使用 SELECT语句进行数据检索。 SELECT语句完整的语法形式非常复杂 , 这里给出如下的SELECT简洁语法形式: SELECT [ ALL | DISTINCT ] select_list [ INTO [ new_table_name ] ] FROM { table_name | view_name } [, { table_name | view_name } [, … ] ] [ WHERE clause ] [ GROUP BY clause ] [ HAVING clause ] [ ORDER BY clause ] [ COMPUTE clause ] [ FOR BROWSE ] SQL查询的基本结构 上一页 下一页 返回首页 在上述结构中: SELECT子句用于指定输出的字段; FROM 子句用于指定数据的来源; WHERE 子句用于指定数据的选择条件; GROUP BY 子句用于对检索到的记录进行分组; HAVING 子句用于指定组的选择条件; ORDER BY 子句用于对查询的结果进行排序 在这些子句中, SELECT子句和 FROM子句是必须的,其它子句都是可选的。 以下所有的举例都是以示例数据库为基础的,示例数据库中建立了三张表:学生表、选课表、课程表,具体结构见教材图 、图 、图。 SQL查询的基本结构 上一页 下一页 返回首页 SELECT [ ALL | DISTINCT ] select_list FROM { table_name | view_name } 其中: select_list指定了要返回的列; FROM子句指定了返回的行和列所属的表或视图。 SELECT子句的部分语法形式: 1.选择列 最简单的查询:检索学生表中的全部信息。 SELECT * FROM 学生表 * 表示检索全部列。 在这个结果中,显示的信息与数据在表中存储的顺序完全一样。 可在 SELECT 后面指出要检索的列名:检索每一个学生的姓名和班级。 SELECT 姓名,班级 FROM 学生表 SELECT 班级,姓名 FROM 学生表 列顺序的改变,只是影响数据结果的显示,对于表中的数据的存储顺序无任何影响。 SELECT 子句 上一页 下一页 返回首页 在默认情况下 , 数据检索结果集中所显示出来的列标题就是在创建表时所使用的列名。 但是 , 显示的列标题也是可以改变的。 改变列标题有两种方法: ① 使用 “ =‖; ② 使用 AS关键字。 检索学生表中的学号、姓名和班级信息,要求班级以“所在班级”列标题输出。 SELECT 学号,姓名,所在班级 =班级 FROM 学生表 SELECT 学号,姓名,班级 AS 所在班级 FROM 学生表 2.改变列标题 上面两个语句查询显示结果完全相同 SELECT 子句 上一页 下一页 返回首页 SELECT子句中可以包含算术表达式 , 允许 +、 、 *、 /, 当然也可以是常量。 要求输出成绩提高 20%后的成绩 : SELECT 学号,课程号,成绩,成绩 * AS 提高后的成绩 FROM 选课表 SELECT DISTINCT 学号 FROM 选课表 3.带表达式的 SELECT子句 4. ALL与 DISTINCT SQL允许关系和查询结果中出现重复行 , 要强制消除重复 , 可在SELECT后使用关键字 DISTINCT, 而指定 ALL则不消除重复。 在MSSQL中 , 默认为 ALL。 在选课表中 , 一个学生可以同时选多门课 , 如果要求检索出已经 选过课的学生学号 : SELECT 子句 上一页 下一页 返回首页 在 SELECT语句中 , WHERE子句指定要检索的数据行 , 将 WHERE关键字后面的搜索条件为真的记录全部检索出来。 要求检索出选课表中所有选修了 1号课程的同学的学号和成绩 : SELECT 学号,成绩 FROM 选课表 WHERE 课程号 =1 SELECT 学号,成绩 FROM 选课表 WHERE 课程号 =1 AND 成绩 =80 1.比较运算符 2.逻辑运算符 要求检索出选修了 1号课程并且成绩在 80分以上的同学的学号和成绩 用 WHERE 子句过滤记录 上一页 下一页 返回首页 要求检索出学生表中年龄在 20至 23之间的所有男同学 : SELECT * FROM 学生表 WHERE 年龄 BETWEEN 20 AND 23 AND 性别 =‗M‘ SELECT * FROM 学生表 WHERE 班级 IN (‗GZ02计 5‘,‘ GZ02计 5‘,‘ GZ02计 5‘) 3. BETWEEN… AND 4. IN(NOT IN) IN或者 NOT IN关键字允许指定要选择的取值表 , 意思是包含在由 IN指定的列表之中或不包含在由 NOT IN指定的列表中。 BETWEEN… AND可以指定搜索范围,表示在 … 之间。 要求检索出学生表中 GZ02计 GZ02计 GZ02计 7三个班级的同学信息 : 用 WHERE 子句过滤记录 上一页 下一页 返回首页 SELECT * FROM 学生表 WHERE 姓名 LIKE ‗陈 %‘ SELECT * FROM 学生表 WHERE 姓名 LIKE ‗[^陈 ]_ _‘ 5.字符串模糊匹配 LIKE关键字用于检索与特定字符串相匹配的记录行。 在 LIKE关键字中,可以使用 4种匹配符: %、 _、 [ ]、 [^]。 带有匹配符的字符串必须使用引号引起来。 要求检索出学生表中所有姓 “ 陈 ” 的同学 信息: 要求检索出学生表中所有不姓 “。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。