×

sql数据库入门

sql数据库入门(mysql数据库入门)

admin admin 发表于2023-04-11 15:27:08 浏览80 评论0

抢沙发发表评论

本文目录一览:

SQL数据库的简单操作

一 简单查询 简单的Transact SQL查询只包括选择列表 FROM子句和WHERE子句 它们分别说明所查询列 查询的 表或视图 以及搜索条件等 例如 下面的语句查询testtable表中姓名为 张三 的nickname字段和email字段 SELECT nickname emailFROM testtableWHERE name= 张三 (一)选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表 星号 表达式 变量(包括局部变量和全局变量)等构成 选择所有列例如 下面语句显示testtable表中所有列的数据 SELECT *FROM testtable 选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同 例如 SELECT nickname emailFROM testtable 更改列标题在选择列表中 可重新指定列标题 定义格式为 列标题=列名列名 列标题如果指定的列标题不是标准的标识符格式时 应使用引号定界符 例如 下列语句使用汉字显示列标题 SELECT 昵称=nickname 电子邮件=emailFROM testtable 删除重复行SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行 默认为ALL 使用DISTINCT选项时 对于所有重复的数据行在SELECT返回的结果集合中只保留一行 限制返回的行数使用TOP n [PERCENT]选项限制返回的数据行数 TOP n说明返回n行 而TOP n PERCENT时 说明n是表示一百分数 指定返回的行数等于总行数的百分之几 例如 SELECT TOP *FROM testtable SELECT TOP PERCENT *FROM testtable(二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图 在FROM子句中最多可指定 个表或视图 它们之间用逗号分隔 在FROM子句同时指定多个表或视图时 如果选择列表中存在同名列 这时应使用对象名限定这些列所属的表或视图 例如在usertable和citytable表中同时存在cityid列 在查询两个表中的cityid时应使用下面语句格式加以限定 SELECT username citytable cityidFROM usertable citytableWHERE usertable cityid=citytable cityid在FROM子句中可用以下两种格式为表或视图指定别名 表名 as 别名表名 别名例如上面语句可用表的别名格式表示为 SELECT username b cityidFROM usertable a citytable bWHERE a cityid=b cityidSELECT不仅能从表或视图中检索数据 它还能够从其它查询语句所返回的结果集合中查询数据 例如 SELECT a au_fname+a au_lnameFROM authors a titleauthor ta(SELECT title_id titleFROM titlesWHERE ytd_sales ) AS tWHERE a au_id=ta au_idAND ta title_id=t title_id此例中 将SELECT返回的结果集合给予一别名t 然后再从中检索数据 (三)使用WHERE子句设置查询条件 WHERE子句设置查询条件 过滤掉不需要的数据行 例如下面语句查询年龄大于 的数据 SELECT *FROM usertableWHERE age WHERE子句可包括各种条件运算符 比较运算符(大小比较) = = = ! !范围运算符(表达式值是否在指定的范围) BEEEN…AND…NOT BEEEN…AND…列表运算符(判断表达式是否为列表中的指定项) IN (项 项 ……)NOT IN (项 项 ……)模式匹配符(判断值是否与指定的字符通配格式相符):LIKE NOT LIKE空值判断符(判断表达式是否为空) IS NULL NOT IS NULL逻辑运算符(用于多条件的逻辑连接) NOT AND OR 范围运算符例 age BEEEN AND 相当于age= AND age= 列表运算符例 country IN ( Germany China ) 模式匹配符例 常用于模糊查找 它判断列值是否与指定的字符串格式相匹配 可用于char varchar text ntext datetime和 *** alldatetime等类型查询 可使用以下通配字符 百分号% 可匹配任意类型和长度的字符 如果是中文 请使用两个百分号即%% 下划线_ 匹配单个任意字符 它常用来限制表达式的字符长度 方括号[] 指定一个字符 字符串或范围 要求所匹配对象为它们中的任一个 [^] 其取值也[] 相同 但它要求所匹配对象为指定字符以外的任一个字符 例如 限制以Publishing结尾 使用LIKE %Publishing 限制以A开头 LIKE [A]% 限制以A开头外 LIKE [^A]% 空值判断符例WHERE age IS NULL 逻辑运算符 优先级为NOT AND OR(四)查询结果排序 使用ORDER BY子句对查询返回的结果按一列或多列排序 ORDER BY子句的语法格式为 ORDER BY {column_name [ASC|DESC]} [ …n]其中ASC表示升序 为默认值 DESC为降序 ORDER BY不能按ntext text和image数据类型进行排序 例如 SELECT *FROM usertableORDER BY age desc userid ASC另外 可以根据表达式进行排序 二 联合查询 UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示 即执行联合查询 UNION的语法格式为 select_statementUNION [ALL] selectstatement[UNION [ALL] selectstatement][…n]其中selectstatement为待联合的SELECT查询语句 ALL选项表示将所有行合并到结果集合中 不指定该项时 被联合查询结果集合中的重复行将只保留一行 联合查询时 查询结果的列标题为第一个查询语句的列标题 因此 要定义列标题必须在第一个查询语句中定义 要对联合查询结果排序时 也必须使用第一查询语句中的列名 列标题或者列序号 在使用UNION 运算符时 应保证每个联合查询语句的选择列表中有相同数量的表达式 并且每个查询选择表达式应具有相同的数据类型 或是可以自动将它们转换为相同的数据类型 在自动转换时 对于数值类型 系统将低精度的数据类型转换为高精度的数据类型 在包括多个查询的UNION语句中 其执行顺序是自左至右 使用括号可以改变这一执行顺序 例如 查询 UNION (查询 UNION 查询 )三 连接查询 通过连接运算符可以实现多个表查询 连接是关系数据库模型的主要特点 也是它区别于其它类型数据库管理系统的一个标志 在关系数据库管理系统中 表建立时各数据之间的关系不必确定 常把一个实体的所有信息存放在一个表中 当检索数据时 通过连接操作查询出存放在多个表中的不同实体的信息 连接操作给用户带来很大的灵活性 他们可以在任何时候增加新的数据类型 为不同实体创建新的表 尔后通过连接进行查询 连接可以在SELECT 语句的FROM子句或WHERE子句中建立 似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来 所以 在Transact SQL中推荐使用这种方法 SQL 标准所定义的FROM子句的连接语法格式为 FROM join_table join_type join_table[ON (join_condition)]其中join_table指出参与连接操作的表名 连接可以对同一个表操作 也可以对多表操作 对同一个表操作的连接又称做自连接 join_type 指出连接类型 可分为三种 内连接 外连接和交叉连接 内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作 并列出这些表中与连接条件相匹配的数据行 根据所使用的比较方式不同 内连接又分为等值连接 自然连接和不等连接三种 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种 与内连接不同的是 外连接不只列出与连接条件相匹配的行 而是列出左表(左外连接时) 右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行 交叉连接(CROSS JOIN)没有WHERE 子句 它返回连接表中所有数据行的笛卡尔积 其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数 连接操作中的ON (join_condition) 子句指出连接条件 它由被连接表中的列和比较运算符 逻辑运算符等构成 无论哪种连接都不能对text ntext和image数据类型列进行直接连接 但可以对这三种列进行间接连接 例如 SELECT p pub_id p pub_id p pr_infoFROM pub_info AS p INNER JOIN pub_info AS p ON DATALENGTH(p pr_info)=DATALENGTH(p pr_info)(一)内连接内连接查询操作列出与连接条件匹配的数据行 它使用比较运算符比较被连接列的列值 内连接分三种 等值连接 在连接条件中使用等于号(=)运算符比较被连接列的列值 其查询结果中列出被连接表中的所有列 包括其中的重复列 不等连接 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值 这些运算符包括 = = ! ! 和 自然连接 在连接条件中使用等于(=)运算符比较被连接列 lishixinzhi/Article/program/SQLServer/201311/21994 !-- /和 --

SQL实战新手入门:创建表

创建表

现在已经创建了一个数据库 接下来可以使用它来创建数据库中的各种对象 例如表 表是存储数据的地方 这是一个常识性的逻辑 但也是RDBMS分道扬镳的地方

拿笔者的冰箱为例 笔者在冰箱表面用小磁铁吸住了各种各样的东西 例如游览动物园后带回来的一些好玩的纪念品 友好的保险代理商赠送的日历 孩子所在学校的饮食菜单(以及查询学校考勤的电话号码) 购物列表 小狗的照片 孩子们的照片 订购比萨的热线电话等 -sql数据库入门

可以将其视为笔者的一个私人数据库 只需要将各种东西粘贴在上面即可 文本 图片 日历等 相比之下 RDBMS更加特殊一些 它要求根据数据类型来对数据排序 第 章将详细地讨论数据类型 就目前而言 只需要关注最容易理解也是RDBMS最好处理的数据类型 文本 -sql数据库入门

就像前面的例子中创建数据库一样 创建一个表也是非常简单的 创建表时 需要指定表中各列的列名和数据类型

CREATE TABLE myLibrary (all_my_books VARCHAR( ))

上面的语句将ALL_MY_BOOKS列定义为字符串数据类型(关于数据类型的更多信息 请参见第 章) 并且定义该列可以容纳 个字符

读者或许已经想到 与上面的例子相比 CREATE TABLE语法还有更多的内容 对于任何一种RDBMS 完整的CREATE TABLE语法列表的长度将超过一页 精通这些选项要求读者具有高级SQL的知识 因此本书只是简要介绍一下CREATE TABLE的语法 -sql数据库入门

在第 章中将会介绍 在创建了一个表之后 还可以从数据库中删除或修改表 SQL提供了对数据库对象的完全控制 可以创建 修改并销毁对象

试一试在Microsoft SQL Server 中创建一个数据库

创建数据库通常是数据库管理员的工作 特别是在一个产品级的环境之中 有太多的选项需要权衡和考虑而不是让所有选项保留默认设置 然而对本书而言 只需要使用基本的语法即可 在Microsoft SQL Server中可以采用多种办法来创建数据库 毫无疑问使用SQL ServerManagement Studio Express是最简单的办法 下面列出了相应的操作步骤 -sql数据库入门

( ) 确保SQL Server实例已经安装并处于运行状态(请参考附录B中的安装指南)

( ) 单击Microsoft SQL Server 菜单项 启动SQL Server Management Studio Express(在本练习中 假定SQL Server已经安装到了读者的本地计算机上 因此可以使用Windows-sql数据库入门

Authentication自动连接)

( ) 首先我们看到一个连接数据库服务器的提示屏幕 如果提示窗口中没有填入默认值 那么将服务器类型设置为Database Engine 将服务器名称设置为 \SQLEXPRESS(如果按照附录B的指南完成了安装的话 否则从下拉列表中选择另外一个名称 该下拉列表中仅显示当前计算机上可见的SQL Server实例) 另外将身份验证设置为Windows Authentication -sql数据库入门

( ) 单击Connect按钮

( ) SQL Server Management Studio Express将显示一个带有多个窗格的窗口 对于这个练习 我们只需要关注位于窗口左上角的New Query按钮 它就在File菜单之下(如图 所示) 单击New Query按钮 -sql数据库入门

( ) 在窗口的中部 将显示一个新的查询窗口 在该窗口中可以输入SQL命令

( ) 输入下面的SQL语句 创建一个数据库

CREATE DATABASE library;

( ) 单击位于上方工具栏中的Execute按钮 如图 所示

( ) 注意观察下方窗格的Messages选项卡中的消息 Command(s) pleted successfully

( ) 新创建的数据库将出现在左侧标题为Object Explorer的窗格的Databases列表之中 如图 所示 单击Databases节点之前的加号 就可以展开列表

示例说明

Microsoft SQL Server承担了创建数据库过程中的许多复杂工作 在后台 SQL Server将在计算机的硬盘(或者外部存储设备)上创建一系列的文件 在Windows注册表中创建数十个条目和特定于SQL Server的配置文件 它还将创建额外的多个支撑对象用于数据库操作(展开新创建数据库中的LIBRARY节点 就可以看到这些对象) -sql数据库入门

在该例子中 省略了所有的可选配置选项 使用所有选项的默认值来创建数据库 存储文件名称 位置 初始大小 排序规则等 尽管这并不是创建性能优化的数据库的最好办法(关于性能优化的内容请参见第 章) 但对于本书演示的目的来说已经足够了 -sql数据库入门

       返回目录 SQL实战新手入门

       编辑推荐

       Oracle索引技术

       高性能MySQL

lishixinzhi/Article/program/SQL/201311/16486

sql数据库入门

《东南大学SQL数据库基础资料》百度网盘资源免费下载

链接:

?pwd=d7k3 提取码: d7k3

东南大学 SQL数据库基础 全39讲 主讲-幸研 附复习课|各学科 学习视频目录|复习课|数据库基础003.csf|数据库基础002.csf|数据库基础001.csf|数据库基础(复习)042.csf|数据库基础(复习)041.csf|数据库基础(复习)040.csf|政治目录.txt|哲学目录.txt|语言目录.txt|艺术目录.txt|医学目录.txt|心理目录.txt-sql数据库入门

SQL入门:模式

模式是命名对象的集合 并提供了数据库中对象的逻辑分类 模式可以包含数据库对象 如表和视图等 模式本身也可以认为是数据库中的一个对象 当创建表或视图时隐式创建了模式 或者 可以使用 CREATE SCHEMA 语句显式创建它 创建对象时 可以用特定模式的名称来限定对象的名称 命名对象有两部分名称 其中第一部分名称是指定给对象的模式名 如果未指定模式名 则给对象指定其名称是用户执行语句的权限 ID 的缺省模式 对于交互式 SQL 该方法用于执行本书中的示例 权限 ID 为用 CONNECT 语句指定的用户 ID 例如 如果表名为 STAFF CONNECT 语句中指定的用户 ID 为 USERID 则限定名为 USERID STAFF 参见连接数据库以获取关于 CONNECT 语句的详情 某些模式名是系统保留的 例如 当预安装的用户定义函数 属于 SYSFUN 模式时 内部函数处于 SYSIBM 模式 参考 SQL Reference 以获取关于 CREATE SCHEMA 语句的详情 lishixinzhi/Article/program/SQLServer/201311/22178-sql数据库入门