这篇blog是SQL基础语法,只是作为我平时查阅和备份,仅适合初学者学习阅读,高手绕行。
转载时注明地址
http://fuchangle.iteye.com/blog/1772523
SQL基础语法(1)访问
http://fuchangle.iteye.com/blog/1772395
索引
索引是存放在模式中的一个数据库对象,虽然索引总是从属于数据表,但它也和数据表一样属于数据库对象。创建索引的唯一作用
就是加速对表的查询,索引通过使用快速访问方法来快速定位数据,从而减少磁盘的I/O。
索引作为数据库对象,在数据字典里独立存放,但不能独立存在,必须属于某个表。
创建索引有两种方式
自动:当在表上定义主键约束、唯一约束和外键约束时,系统会为该数据列自动创建对应的索引。
手动:用户可以通过create index...语句来创建索引。
删除索引也有两种方式。
自动:数据表被删除时,该表上的索引自动被删除。
手动:用户可以通过drop index...语句来删除指定数据表上的指定索引。
创建索引的语法格式如下:
create index index_name
on table_name (column[,column]...);
下面的索引将会提高对employess表基于last_name字段的查询速度。
create index emp_last_name_idx
on employees(last_name);
也可以同时对多列建立索引如:
#下面语句为employees的first_name和last_name两列同时建立索引
create index emp_last_name_index
on employees(first_name, last_name);
MySQL中删除索引需要指定表,采用如下语法格式
drop index 索引名 on 表名
如下SQL语句删除了employees表中的emp_last_name_idx的索引
drop index emp_last_index
on employees;
索引缺点:
1.与书的目录相似,当数据表中的记录被添加、删除、修改时,数据库系统需要维护索引,因此有一定的系统开销。
2.存储索引信息需要一定的磁盘空间。
------------------------
视图
视图看上去非常像一个数据表,但它不是数据表,因为他并不能存储数据,视图只是一个或多个数据表中数据的逻辑显示。
优点:
1.可以限制对数据的访问。
2.可以使复杂的查询变的简单。
3.提供了数据的独立性。
4.提供了对相同数据的不同显示。
因为视图只是数据表中数据的逻辑显示--也就是一个查询结果,所以创建视图就是建立视图名和查询语句的关联。如下:
create or replace view 视图名
as
subquery
从上面的语法可以看出,创建、修改视图都可使用上面语法。上面语法的含义是,如果该视图不存在,则创建视图;如果指定的视
图名的视图已经存在,则使用新视图替换原有的视图。后面的subquery就是一个查询语句,这个查询可以非常复杂。
所谓视图的本质,其实就是一条被命名的SQL查询语句。
一旦建立了视图以后,使用该视图语使用数据表就没有上面区别了,但通常只是查询视图数据,不会修改视图里的数据,因为视图
本身就没有存储数据。
create or replace view view_test
as
select teacher_name, teacher_pass from teacher_table;
大部分时候,我们不推荐直接改变视图的数据,因为视图并不存储数据,它只是相当于一条命名的查询语句而已。为了强制不允许
改变视图的数据,mysql允许在创建视图时使用with check option字句,使用该字句创建视图不允许修改如下:
create or replace view view_test
as
select teacher_name form teacher_table
#指定不允许修改视图的数据
with check option;
删除视图使用如下语句:
drop view 视图名
如下SQL语句删除了前面刚刚创建的视图名
drop view view_test;
---------------------------------------------
DML语句的语法
与DDL操作数据库对象不同,DML主要操作数据表里的数据,使用DML可以完成以下3中任务:
1.插入新数据
2.修改已有的数据
3.删除不需要的数据
DML语句由insert into、update、和delete from 3个命令组成。
1.insert into语句
insert into用于向数据表中插入数据。对于标准的SQL语句而言,每次只能插入一条记录。insert into语法格式如下:
insert into table_name [(column[,column..]) values(value,[,vlaue...]);
执行插入操作时,表名后可以用括号列出所有需要插入值的列名,而value后用括号列出对应需要插入的值。
例如:
insert into teacher_table value ('xyz');
在一些特殊的情况下,我们可以使用带子查询的插入语句,带子查询的插入语句可以一次插入多条记录,
insert into student_table(student_name) select teacher_name from teacher_table2;
2.update语句
update语句用于修改数据表的记录,每次可以修改多条记录,通过使用where子句限定修改哪些记录。没有where子句则意味着where
表达式的值总是true,即该表的所有记录都会被修改,update语句的语法格式如下:
update teacher_table
set column1 = value1[,column=value2]...
[WHERE condition];
例如下:
update teacher_table2 set teacher_name = '孙悟空';
也可以通过添加where条件来指定只修改特定记录,如下:
update teacher_table
set teacher_name = '猪八戒'
where teacher_id > 1;
3.delete from 语句
delete from语句用于删除指定数据表的记录。使用delete from语句删除时不需要指定列名,因为总是正行地删除。
使用delete from语句可以一次删除多行,删除哪些行采用where字句限定,只删除满足where条件的记录。没有where字句限定将会
把表里的全部记录删除。
delete from语句的语法格式如下:
delete from table_name
[WHERE condition];
如下SQL语句将会把student_table2表中的全部记录全部删除:
delete from studnet_table2
也可以使用where条件来限定只删除指定记录,如下SQL语句所示:
delete form teacher_table2 where teacher_id > 2;
待续...
分享到:
相关推荐
SQL Server 基础语法 SQL Server 是一种关系数据库管理系统,提供了强大的数据存储和管理功能。 SQL Server 的基础语法包括数据定义、数据操纵和数据控制三个方面。 1. 数据定义功能 数据定义功能是 SQL Server ...
易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法
### SQL基础语法详解 #### 一、数据定义语言(Data Definition Language, DDL) 在数据库管理系统中,数据定义语言主要用于创建、修改或删除数据库对象,如表、索引等。以下是一些常用的DDL命令及其解释。 ##### ...
### SQL语法、SQL语句大全及SQL基础知识 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言。SQL最初由IBM研发,并在1970年代后期作为SEQUEL(Structured English Query ...
SQL基础语法和高级语法示例 SQL基础语法和高级语法示例
### SQL基础语法考试必备知识点 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它提供了强大的数据操作能力,包括数据查询、数据定义、数据操纵和数据控制等功能。 ####...
- **语法**: `INSERT INTO table1 (field1, field2) VALUES (value1, value2);` - **删除**: - **语法**: `DELETE FROM table1 WHERE 范围;` - **更新**: - **语法**: `UPDATE table1 SET field1 = value1 ...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
适合教学使用的SQL语法课件,内容相对精炼。
### SQL基础语法与常用函数详解 #### 一、SQL基础语法概述 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库的标准语言。它主要用于处理存储在关系数据库管理系统中的数据,支持数据...
在SQL Server中,基础语法主要涵盖以下几个方面: 1. **数据查询**:SQL的基础是SELECT语句,用于从数据库中检索数据。例如,`SELECT * FROM Customers`将获取Customers表中的所有记录。通过指定列名、使用WHERE...
在这个“SQL基本语法知识”中,我们将深入理解SQL的一些核心概念和基本语法。 首先,数据库是组织和存储数据的系统,而表则是数据库中的基本单元,用于存储具体的信息。例如,描述中的"Persons"表,包含ID、Last ...
"SQL语句之基础语法汇总" SQL语句之基础语法汇总是一篇详细的SQL语句基础知识总结,包括创建表、修改表、删除表、添加数据、更新数据、删除数据等基础语法。下面是对该篇文章的知识点总结: 一、创建表、修改表、...
总结来说,这个SQL基础语法示例教程涵盖了创建表、插入数据、更新数据和删除数据等核心操作,是初学者学习SQL的绝佳起点。通过深入理解和实践这些基本语句,你将能够有效地管理和操纵数据库,为你的IT职业生涯打下...
SQL(Structured Query ...总结,SQL是数据库管理和分析的核心,熟练掌握其基础语法和常见用法是每个IT专业人员的必备技能。通过学习提供的PDF文档,你可以深入理解SQL Server的具体应用,并提升你的SQL编程能力。
SQL,即Structured Query Language...掌握这些SQL基础语法和RDB基本概念是理解和操作关系数据库的关键,无论你是初学者还是经验丰富的开发人员,都需要深入理解这些知识点,以便在实际工作中有效地进行数据管理和分析。
Oracle SQL是用于管理和操作Oracle...以上是Oracle SQL基础语法的一些关键概念,通过实践和学习,你可以逐步掌握这个强大的查询语言,并有效管理Oracle数据库。记住,实践中遇到的问题和解决方案往往是学习的最佳途径。
### Visual FoxPro中SQL命令语法及示例 #### 1. 准备 - **1.1 创建文档中所要使用到的数据库及环境配置** 在开始学习Visual FoxPro (VFP) 中的SQL命令之前,需要创建一个用于演示的基础数据库环境。以下是创建...
在“sql/sql语法基础手册”中,我们可以深入学习SQL的基础知识,包括但不限于以下几个方面: 1. **SQL简介**:SQL代表结构化查询语言,由IBM的System R项目开发,用于操作关系型数据库系统。它支持多种操作,如创建...
在数据库系统中,SQL(Structured Query Language)是用于管理关系数据库的标准语言,而词法分析和语法分析是编译原理中的基础概念,对于理解SqlParser的工作原理至关重要。 首先,我们来谈谈SQL。SQL包含了数据...