一篇彻底学会常用的sql语句

为了以后查阅方便,对常用的sql语句进行一下总结。主要内容包括,增删改查(CURD),重点在查询(子查询,模糊查询,分组查询等)。
在开始之前,要注意:sql是不区分大小写的,但是为了代码容易阅读与调试,一般将Sql关键字大写,对所有的表名和列明使用小写。多条sql语句需要用 分号(;)分隔,单条可以不加,但为了不出现错误,一般都加上,使用mysql命令行必须加分号来结束。另外sql语句可以写在一行,但为了方便阅读与调试,一般会将sql语句分成多行来写。mysql作为是传统的关系型数据库,以表来组织数据。关于关系型数据库和非关系型数据库,可查看文章关系型数据库和非关系型数据库
一些简单的查看语句:

# Windows 启动数据库
net start mysql;
# 查看数据库版本
mysql --version;
# 查看当前数据库支持的引擎和默认的数据库引擎
# 5.5.8之后 innodb为默认存储引擎
SHOW ENGINES;
# 创建数据库
CREATE DATABASE database_name;
# 查看数据库
SHOW DATABASES;
# 查看表
SHOW TABLES;
# 查看表状态
SHOW CREATE TABLE table_name;

创建和操纵表

创建和修改表的操作,比如创建一个customers表。

# 创建表
CREATE TABLE customers
(
  cust_id INT NOT NULL AUTO_INCREMENT,
  cust_name CHAR(50) NOT NULL,
  cust_email CHAR(255) NULL,
  PRIMARY KEY (cust_id),   # 主建
  INDEX name_key (cust_name)        # 建索引 索引名和列名 如果不指定索引名,默认列名
) ENGINE=InnoDB CHAR SET=utf8;   #存储引擎和编码
# 删除表
DROP TABLE customers;
# 添加列 默认可为空null
ALTER TABLE customers
ADD cust_phone CHAR(20);
# 删除列
ALTER TABLE customers
DROP COLUMN cust_phone;
# 重命名表
RENAME TABLE customers TO customers2;

创建索引的两种方式:

# 添加索引
# 普通索引
ALTER TABLE table_name
ADD INDEX index_name (column_list);
# UNIQUE和PRIMARY KEY索引:规定索引不能包含重复值
ALTER TABLE table_name
ADD UNIQUE (column_list);

CREATE INDEX index_name
ON table_name (column_list);
CREATE UNIQUE INDEX index_name
ON table_name (column_list);

上边的都语句都很简单,我们也不一般不会自己写sql语句来创建指定表,最好利用MySql可视化管理工具如Navicat等,来创建表。注意在创建表时,存储引擎(默认InnoDB)的指定,如果没有事务要求可指定为MyISAM。编码指定为utf8。也可指定主键的: AUTO_INCREMENT=1000。表示从1000开始自增。
以及主键和索引的创建。在此过程:要注意字段是否为空的指定,如果指定某一字段不能为null时,则在插入数据时候,则必须为其指定值。另外,字段名创建的时候,不用单引号,而是反单引号或者不用。

插入数据

数据插入,是利用INSERT插入行到数据库表中,可有几种方式:插入完整的行,插入行的一部分,插入多行以及插入某些查询的结果。

INSERT INTO customers
VALUES ( '1',
  'Tom',
  NULL,
  NULL
);

注意:这里必须为表中的每个列都提供一个值,没有值并且可以为null的也必须制定null。且值需要用单引号’ ’ 表示。这种方式不安全,应避免使用,因为当表结构变化时,这种方式将出错。

INSERT INTO customers(cust_id,
        cust_name,
        cust_email,
        cust_phone)
VALUES ( '1',
         'Tom',
         NULL,
         NULL
);

上边这种方式更安全,它是前面的列与后边的值一一对应。所以,不一定要按照各个列在实际表中出现的顺序,而且后边为null的列,可以去掉,也就是:

INSERT INTO customers(cust_id,
       cust_name)
VALUES ( '1',
         'Tom'
);

与上边的效果是一样的。但如果,列不允许为null,则必须给定一个非null值。

# 插入多行
INSERT INTO customers(cust_id,
        cust_name)
VALUES (
         '1',
         'Tom'
),
(
         '2',
         'Kim'
);

插入多行与插入查询数据都比较简单,这里就不再详细解释了,只要确保,列名与后边的值一一对应即可。

更新和删除数据

更新操作

更新表中数据操作,用UPDATE 语句,可分为:更新表中特定行,更新表中所有行。要注意WHERE 子句的应用,防止一不小心就更新了表中所有数据。

UPDATE customers
SET cust_email = 'edada@163.com'
WHERE cust_id = 1;

更新操作。分别是:要更新的表名,列名和要更新的值,确定要更新行的过滤条件。
如果要更新多个行,可以写成:

UPDATE customers
SET cust_email = 'edada@163.com',
    cust_phone = '1231'
WHERE cust_id = 1;

注意:如果用UPDATE 语句更新多行时,如果有一行出现错误,则整个UPDATE操作都被取消。如果,你想出现错误也要继续更新,可使用 IGNORE 关键字。即:UPDATE IGNORE。

删除操作

在一个表中删除数据,使用DELETE 语句,删除特定行,删除多有行。要注意WHERE 过滤条件的使用,安全性。

DELETE FROM customers
WHERE cust_name = 1;

注意: 前面的例子中,都用了WHERE子句。如果没有WHERE子句,则更新和删除操作将应用到所有的行。这要加倍小心。

检索数据

本篇文章的重点是检索查询数据,在实际开发中用的也是最多的。这里,将详细解释其应用。

简单检索:LIMIT、ORDER BY

# 检索多个列
SELECT cust_id, cust_name, cust_email
FROM customers;
# 检索所有的列
SELECT cust_id, cust_name, cust_email, cust_phone
FROM customers;
SELECT *
FROM customers;

注意:如果不是需要表中的每个列,不要使用SELECT * 通配符操作,会降低检索性能。
若某行的值由重复,则检索出不同的行的sql语句:

# 检索不同的行
SELECT DISTINCT cust_name
FROM customers;

限制结果,返回特定的行和行数:

# 检索限制结果
# LIMIT 第一个数为开始的行数,第二个数为要检索的行数
# 从第0行(代表第一行)开始
SELECT cust_name
FROM customers
LIMIT 5;
# 从第5行(实际表中的第六行)开始,显示5SELECT cust_name
FROM customers
LIMIT 5, 5;

注意:上边检索出来的数据是无需的,也并不与实际表中的顺序一一对应,我们可认为检索出来的数据的顺序是无意义的。
为了更好的说明应用,假设有一个products,有id,价格,名称字段。

# 默认ASC 升序
SELECT prod_name
FROM products
ORDER BY prod_price;
# DESC 降序
SELECT prod_name
FROM products
ORDER BY prod_price DESC;
# 按多个列排序 先按价格,再按名称
SELECT prod_name
FROM products
ORDER BY prod_price, prod_name;
# 按多个列排序 DESC只对它前面的列有作用,即先按价格降序,再按名称升序
SELECT prod_name
FROM products
ORDER BY prod_price DESC , prod_name;
# DESC 降序,然后再取第0行(0,1 0行开始取1行)
SELECT prod_name
FROM products
ORDER BY prod_price DESC
LIMIT 1;

注意:ORDER BY 子句,要保证它位于FROM子句之后,在WHERE之后,如果使用LIMIT,它必须位于ORDER BY之后。

数据过滤 条件/逻辑运算符

最简单的数据过滤就是使用WHERE 子句。WHERE 子句的条件操作符有:= 等于,<> != 不等于,< 小于,<= 小于等于, >大于,> 大于等于,BETWEEN AND,介于指定的两个值之间,IS NULL 空值检查。

# WHERE 子句
SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;

WHERE 的逻辑运算符有AND ,OR, NOT,IN。其具体用法为;

# 检索出由1003供应商生成且价格<=10的商品信息
SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id = 1003 AND prod_price <= 10;
# 检索出由1003或1002供应商生成的商品
SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id = 1003 OR vend_id = 1002;

注意:AND 的操作符优先级要高于OR,在AND 和 OR 同时出现时,会优先处理AND的逻辑,所以为了避免歧义,要尽量使用括号( )。
IN和NOT IN 的用法。

# 检索出由1003或1002供应商生成的商品 并排序
SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id IN (1002, 1003)
ORDER BY prod_name;
# 检索出除了1003或1002供应商生成的商品  并排序
SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id NOT IN (1002, 1003)
ORDER BY prod_name;

利用通配符进行数据过滤

LIKE + 通配符来进行过滤。必须使用LIKE 操作符,否则就是直接相等匹配了。

# 通配符 % 表示匹配0个或任意个字符 但不可以匹配null
# 匹配以jet为开头的任意字符
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE 'jet%';
# 匹配包含jet的任意字符
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE '%jet%';
# 匹配以s开头e结尾的字符
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE 's%e';
# 通配符 _ 表示匹配单个字符
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE '_jet';

通配符来匹配时一般效率较低。
使用正则表达式进行匹配:

SELECT prod_id, prod_name
FROM products
WHERE prod_name REGEXP '.000';

具体的规则可以查看正则表达式表。

汇合数据

使用聚集函数来对数据进行汇总。MySQL提供了5种的聚集函数:

  • AVG( ) 返回某列的平均值
  • COUNT( ) 返回某列的行数
  • MAX( ) 返回某列的最大值
  • MIN( ) 返回某列的最小值
  • SUM( ) 返回某列值之和
# AVG()
SELECT AVG(prod_price) AS avg_price
FROM products;
# COUNT() 返回行数
# COUNT(*) 对所有的行计数 不管各列中有什么值 不忽略null
SELECT COUNT(*)
FROM products;
# COUNT(列名)  忽略null
SELECT COUNT(cust_email)
FROM customers;

AS起别名。其他的几个函数用法类似,不再举例。

数据分组

对数据进行分组的理解是:假设一个供应商A,它生产了很多产品,我们可以按照供应商来进行分组,并且使用聚集函数来统计分组信息。

# 按vend_id分组,并统计每组的行数
SELECT vend_id, count(*) 
FROM products
GROUP BY vend_id;

过滤分组,利用HAVING

# 过滤分组,返回行数大于等于2的分组 并按行数排序
SELECT vend_id, count(*) AS odertotal
FROM products
GROUP BY vend_id
HAVING count(*) >= 2
ORDER BY odertotal;

使用子查询

关系型数据库的核心就是表,假设有两个表,存储不同的信息,利用子查询。子查询就是把一条SELECT 语句返回的结果用于另一条SELECT的WHERE子句。
子查询一般是与IN操作符结合使用的。

# 子查询.从oderitems表中查询prod_id的订单号,然后返回此订单号的客户号
SELECT cust_id 
FROM orders
WHERE order_num IN (SELECT order_num
                     FROM oderitems
                     WHERE prod_id = 'TTT');

另外,子查询可填充计算列。

联结表

关系表的设计就是要保证把信息分解成多个表,一类数据一个表。主键:唯一标识,外键:外键为某个表中的某一列(是另一表的主键)。

# 联结
SELECT vend_name, prod_name, prod_price
FROM vendors, products
WHERE vendors.vend_id = products.prod_id
# 用INNER JOIN 明确表示联结
SELECT vend_name, prod_name, prod_price
FROM vendors INNER JOIN products
ON vendors.vend_id = products.prod_id

其实,这个联结可以用子查询来实现。

组合查询

利用UNION 操作符,将多条SELECT 语句组合成一个结果集。这里不详细解释了。

常见的Sql面试题

  • 查询每门功课都大于80的同学的名字

这里写图片描述

思路是:利用NOT IN 排除所有小于80的同学。然后利用DISTINCT 关键字筛选出相应的不重复的名字。

SELECT DISTINCT name 
FROM student 
WHERE name NOT IN(SELCT name 
                  FROM student 
                  WHERE score < 80); 
  • 删除除id不同其他别的列都相同的冗余数据
    这里写图片描述
    思路还是利用NOT IN,先找出唯一的数据,再根据id删除。、
DELETE FROM student 
WHERE id NOT IN (SELECT MIN(id)
              FROM student
              GROUP BY name,class,score);

在mysql中,这样写会报错:You can’t specify target table ‘student’ for update in FROM clause,就是说:MySQL不能指定更新的目标表在FROM子句。其他数据库不会出现此问题。
解决方法。先把要删除的目标放到一张临时表再把要删除的条件指定到这张临时表即可:

# 将中间结果放到临时表a中
DELETE FROM student 
WHERE id NOT IN (SELECT * FROMSELECT MIN(id)
                                FROM student
                                GROUP BY name,class,score)
                 AS a);

本文中,只列出了一些常用的sql语句。关于数据库的核心知识以及高级特性,事务,锁机制等,后边再进行介绍。

  • 7
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
轻轻松松学数据库!!SQL Server 2008是微软的SQL Server数据库中的最新版本,在该版本的数据库产品中融入了更多商业智能的内容。本书中也使用了一篇专门讲解了与商业智能有关的一些内容。 本书总分为5篇,共21章。第一篇主要讲解数据库的基础,包括数据库的概念及安装。第二篇讲解数据库管理的常用知识,包括数据库的管理、表的管理、确保数据的完整性及用户权限的设置等内容。第三篇主要讲解SQL的编程,包括T-SQL语言、存储过程及触发器。第四篇讲解与商业智能有关的内容,包括集成服务、报表服务和分析服务。最后一篇是综合案例篇,分别使用.NET和Java语言实现了与SQL Server 2008的连接,并完成了图书管理系统和在线订餐系统。 第一篇 SQL Server 2008基础篇 第1章 学习数据库的准备 ( 教学视频:58分钟) 15 1.1 认识数据库 15 1.1.1 为什么要使用数据库 15 1.1.2 认识数据库产品 15 1.2 了解数据库对象 17 1.2.1 表 17 1.2.2 视图 17 1.2.3 索引 18 1.2.4 存储过程 18 1.2.5 触发器 18 1.3 认识SQL语言 18 1.3.1 什么是SQL 18 1.3.2 SQL语言的分类 19 1.4 绘制E-R图设计数据库 20 1.4.1 绘制E-R图的基本要素 20 1.4.2 E-R图绘制实例 22 1.5 小结 24 1.6 习题 24 第2章 数据库的安装 ( 教学视频:26分钟) 26 2.1 SQL Server 2008版本介绍 26 2.1.1 SQL Server 2008服务器版 26 2.1.2 SQL Server 2008专业版 26 2.2 SQL Server 2008环境需求 27 2.2.1 SQL Server 2008 Enterprise的 软硬件要求 27 2.2.2 SQL Server 2008 Enterprise Evaluation的软硬件要求 28 2.3 安装SQL Server 2008 29 2.3.1 自己动手安装SQL Server 2008 29 2.3.2 安装示例数据库 39 2.4 认识SQL Server Management Studio (企业管理器) 40 2.4.1 访问SQL Server Management Studio 40 2.4.2 SQL Server Management Studio 菜单简介 42 2.4.3 查询编辑器窗口 43 2.4.4 对象资源管理器 44 2.4.5 SQL编辑器 44 2.5 小结 45 2.6 习题 45 第二篇 SQL Server 2008管理篇 第3章 数据库操作 ( 教学视频:43分钟) 47 3.1 在SSMS中创建数据库 47 3.1.1 数据库命名需要注意的问题 47 3.1.2 数据库的所有者与权限 48 3.1.3 创建数据库 48 3.2 在SSMS中修改数据库配置 52 3.2.1 使用SSMS修改数据库配置的 通用步骤 52 3.2.2 在SSMS中添加数据库文件 53 3.2.3 在SSMS中删除数据库文件 53 3.2.4 修改数据库的所有者 55 3.2.5 限制用户的访问 56 3.2.6 设置用户对数据库的使用权限 57 3.2.7 修改数据库名称 59 3.3 使用SQL语句创建、修改、 删除数据库 59 3.3.1 用CREATE DATABASE语句 创建数据库 59 3.3.2 用ALTER DATABASE语句 修改数据库 60 3.3.3 用DROP DATABASE语句 删除数据库 62 3.4 附加与分离数据库 63 3.4.1 分离数据库 63 3.4.2 附加数据库 64 3.5 编写数据库脚本文件 66 3.6 综合练习 67 3.7 小结 69 3.8 习题 69 第4章 数据表操作 ( 教学视频:39分钟) 71 4.1 认识数据类型 71 4.1.1 字符型数据类型 71 4.1.2 数值型数据类型 72 4.1.3 日期和时间数据类型 73 4.1.4 其他数据类型 73 4.2 创建数据表 74 4.2.1 创建数据表的语法 74 4.2.2 创建主键 75 4.2.3 使用SSMS创建表 76 4.2.4 创建标识列 78 4.3 修改表结构 79 4.3.1 修改表结构的语法 80 4.3.2 在SSMS中修改表结构 82 4.4 表的删除、截断与重命名 82 4.4.1 使用SSMS删除和重命名表 83 4.4.2 使用DROP TABLE语句删除表 83 4.4.3 截断表 84 4.4.4 重命名表 85 4.5 小结 85 4.6 习题 85 第5章 确保数据完整性 ( 教学视频:89分钟) 87 5.1 认识约束 87 5.1.1 什么是约束 87 5.1.2 约束的类型 88 5.1.3 约束的语法 89 5.2 使用约束 90 5.2.1 利用SSMS创建主键约束 90 5.2.2 利用T-SQL增加主键约束 91 5.2.3 利用SSMS创建外键约束 92 5.2.4 利用T-SQL增加外键约束 93 5.2.5 利用SSMS工具创建CHECK 约束 94 5.2.6 利用T-SQL增加CHECK约束 95 5.2.7 利用SSMS工具删除约束 96 5.3 事务的使用 96 5.3.1 什么是事务 96 5.3.2 事务的特性 97 5.3.3 事务的模式类型 97 5.3.4 事务的保存点 99 5.4 并发控制 100 5.4.1 并发访问的问题 100 5.4.2 SQL Server中的锁 101 5.4.3 查看活跃事务 102 5.4.4 事务隔离级别 104 5.4.5 事务隔离级别的设置 104 5.5 事务的阻塞 105 5.6 死锁 107 5.6.1 死锁的产生 107 5.6.2 处理死锁 108 5.6.3 预防死锁 109 5.7 索引 109 5.7.1 认识索引 110 5.7.2 索引的创建 111 5.7.3 索引的管理 113 5.8 小结 115 5.9 习题 116 第6章 用户和权限管理 ( 教学视频:37分钟) 117 6.1 用户管理 117 6.1.1 创建使用Windows身份验证的 SQL Server 登录名 117 6.1.2 创建使用SQL Server身份验证的 SQL Server登录名 120 6.1.3 利用Transact-SQL创建 登录账号 121 6.1.4 创建数据库用户 122 6.1.5 使用Transact-SQL创建 数据库用户 123 6.1.6 登录账号和数据库用户的关系 124 6.2 认识角色 125 6.2.1 角色的划分 125 6.2.2 创建角色 127 6.2.3 给用户授予角色 128 6.3 认识权限 129 6.3.1 数据控制语言语法 129 6.3.2 给用户授予权限 131 6.4 架构 131 6.4.1 认识架构 132 6.4.2 架构的创建使用 133 6.4.3 架构的修改删除 134 6.5 小结 134 6.6 习题 135 第7章 数据的导入/导出与备份/恢复 ( 教学视频:27分钟) 136 7.1 了解SQL Server导入和导出向导 136 7.2 导入/导出数据 138 7.2.1 数据的导出 138 7.2.2 数据的导入 142 7.3 数据备份 145 7.3.1 认识数据备份 145 7.3.2 使用SSMS工具备份数据库 146 7.3.3 使用SSMS工具差异备份数据库 147 7.4 恢复数据 148 7.4.1 认识恢复数据 148 7.4.2 如何修改恢复模式 149 7.4.3 使用SSMS恢复数据库 150 7.5 小结 151 7.6 习题 151 第8章 使用SQL Server 2008中 自动化管理功能 ( 教学视频:20分钟) 153 8.1 认识SQL Server代理 153 8.1.1 什么是SQL Server 代理 153 8.1.2 使用SQL Server代理 154 8.2 认识作业 155 8.2.1 什么是作业 155 8.2.2 创建作业 156 8.2.3 管理作业 160 8.3 认识警报 163 8.3.1 创建警报 164 8.3.2 在警报中触发作业 165 8.3.3 管理警报 166 8.4 认识操作员 166 8.4.1 创建操作员 167 8.4.2 管理操作员 169 8.5 小结 169 8.6 习题 170 第9章 查询数据 ( 教学视频:64分钟) 171 9.1 在SSMS中查看数据 171 9.2 使用简单SELECT语句查询数据 171 9.2.1 查询表中所有数据 171 9.2.2 查询表中指定字段的数据 172 9.2.3 查询结果中去除重复信息 174 9.2.4 根据现有列值计算新列值 174 9.2.5 命名新列 175 9.2.6 将查询结果保存为新表 176 9.2.7 连接字段 177 9.3 使用SELECT语句获取满足查询 条件的数据 178 9.3.1 指针与字段变量的概念 178 9.3.2 条件表达式 179 9.3.3 WHERE子句用法 181 9.3.4 根据条件查询数值数据 182 9.3.5 根据条件查询字符数据 183 9.3.6 根据条件查询日期数据 184 9.3.7 按范围查询数据 185 9.3.8 查询NULL值 186 9.4 排序查询数据 186 9.4.1 按单列排序 187 9.4.2 设置排序方向 187 9.4.3 按多列排序 188 9.4.4 按字段位置排序 188 9.4.5 查询前5行数据 189 9.4.6 WHERE与ORDER BY的 结合使用 189 9.5 高级条件查询 190 9.5.1 AND运算符 190 9.5.2 OR运算符 191 9.5.3 AND与OR的优先顺序问题 192 9.5.4 NOT运算符 193 9.5.5 IN运算符 193 9.5.6 LIKE运算符与“%”通配符 195 9.5.7 “_”通配符的使用 197 9.5.8 “[]”通配符的使用 197 9.5.9 定义转义字符 198 9.6 小结 199 9.7 习题 199 第10章 函数与分组查询数据 ( 教学视频:42分钟) 201 10.1 系统函数 201 10.1.1 聚合函数 201 10.1.2 类型转换函数 202 10.1.3 日期函数 204 10.1.4 数学函数 206 10.1.5 字符函数 207 10.1.6 其他几个系统函数 208 10.2 分组查询 212 10.2.1 将表内容按列分组 212 10.2.2 聚合函数与分组配合使用 214 10.2.3 查询数据的直方图 215 10.2.4 排序分组结果 215 10.2.5 反转查询结果 216 10.2.6 使用HAVING子句设置 分组查询条件 217 10.3 小结 218 10.4 习题 218 第11章 多表连接查询和子查询 ( 教学视频:79分钟) 220 11.1 连接查询 220 11.1.1 使用无连接规则连接两表 220 11.1.2 使用有连接规则连接两表 221 11.1.3 使用多表连接查询数据 222 11.1.4 使用表别名简化语句 223 11.1.5 使用INNER JOIN连接查询 223 11.1.6 连接查询实例 224 11.2 高级连接查询 226 11.2.1 自连接查询 226 11.2.2 内连接查询 227 11.2.3 左外连接查询 229 11.2.4 右外连接 230 11.2.5 全外连接 230 11.2.6 交叉连接查询 230 11.2.7 连接查询中使用聚合函数 232 11.2.8 高级连接查询实例 233 11.3 组合查询 235 11.3.1 使用组合查询 236 11.3.2 使用UNION的规则 237 11.3.3 使用UNION得到复杂的统计 汇总样式 238 11.3.4 排序组合查询的结果 238 11.3.5 组合查询的实例 239 11.4 子查询 240 11.4.1 使用返回单值的子查询 240 11.4.2 子查询与聚合函数的配合使用 241 11.4.3 子查询的实例 241 11.5 在SSMS查询设计器中设计查询 242 11.6 综合练习 245 11.7 小结 246 11.8 习题 246 第12章 插入、更新和删除数据 ( 教学视频:39分钟) 248 12.1 在SSMS中插入、更新、删除数据 248 12.1.1 插入数据 248 12.1.2 更新数据 249 12.1.3 删除数据 249 12.2 使用INSERT语句插入数据 250 12.2.1 插入完整的行 250 12.2.2 向日期时间型字段插入数据 251 12.2.3 将数据插入到指定字段 251 12.2.4 将查询结果插入表 252 12.3 使用UPDATE语句更新数据 254 12.3.1 更新单个字段的数据 254 12.3.2 更新多个字段的数据 255 12.3.3 使用表连接更新数据 256 12.3.4 使用UPDATE语句删除 指定字段的数据 256 12.4 使用DELETE语句删除数据 257 12.4.1 使用DELETE语句删除 指定记录 257 12.4.2 在DELETE语句中使用 多表连接 258 12.4.3 使用DELETE语句删除 所有记录 259 12.5 使用TRUNCATE语句删除 所有记录 260 12.6 综合练习 260 12.7 小结 262 12.8 习题 263 第13章 视图 ( 教学视频:38分钟) 264 13.1 视图基础 264 13.2 视图的创建 266 13.2.1 在SSMS中创建视图 266 13.2.2 使用CREATE VIEW语句 创建视图 268 13.2.3 用别名命名视图字段 269 13.2.4 创建视图时的注意事项 270 13.2.5 创建加密视图 271 13.3 查看与修改视图 272 13.3.1 查看视图内容 272 13.3.2 在SSMS中修改视图 272 13.3.3 用ALTER VIEW修改视图 272 13.4 使用视图操作表数据 274 13.4.1 在SSMS中操作 视图中的数据 274 13.4.2 使用INSERT语句插入数据 274

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值