MySql教程

mysql/oracle/sqlserver SQL 增删改查 及各种用法

本文主要是介绍mysql/oracle/sqlserver SQL 增删改查 及各种用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

SQL:Structured query language

ANSI: American national standard institute

结构 表 索引 视图 存储过程 函数 触发器

操作

数据字典commit

设置用户grant revoke权限

查询

删除:delete from user where user_id = 299;

                              Truncate

RDBMS关系型数据库管理系统,relational database management system

DDL数据定义语言(改变数据库结构)

               创建: create table

               更改: alter table

删除: drop table

DML数组操纵语言(检索插入修改数据  SQL

               插入insert

               删除delete

               修改update

               检索select

DCL(数据控制语言)控制命令

Grant 授予权限

Revoke撤销授权

SQL RDBMS 关系数据库管理系统 relationl database management system

表:相关数据条目的集合,它是由许多列行组成

字段:每个表分成更小的实体,称为字段,表中列,用于维护有关表中每条记录特定信息

记录、数据:数据行) 表中每个单独的条目

列:表中垂直实体,特定字段关联的所有信息

空值:空值!= 零值       创建时留空的字段

约束:数据列上强制执行的规则,限制可以进入表中的数据类型

               Not null

               Default:提供该列数据末指定时采用的默认值

               Unique:保证列中所有数据各不相同

               主键:唯一标识数据表中行、记录primary key

               外键:唯一标识其他表中一条行记录

               Check:保证列中所有值满足某一条件

               索引:数据库快速创建或索引数据

数据完整性:表中没有重复值

域完整性:通过限制值的类型,格式,或范围,强制执行给定列的有效条目

引用完整性:不能删除其他记录使用的行

用户定义完整性:强制执行一些不属于实体,域或引用完整性的特定业务规则

SQL语法

Select  insert into  update delete drop create

Create database alter database修改数据库

Drop table删除表

Create index创建删除索引

Drop index

 

 

 

 

Truncate截断语句

 

 

 

 

 

 

 

Distinct:在一张表中,包含许多重复的值,只想列出不同的值(different)

               Select distinct column1, column2, …  from table_name;

               Select count(distinct country) from customer;

And & OR  NOT

 

 

 

Order by 用于按升序或者降序对结果集进行排列,默认是升序,desc降序

 

 

 

Insert into两种表示

 

 

 

 

 

从查询表中插入

 

 

NULL,字段没有值

Is null : select column_names from table_name where column_name IS NULL;

Is not null: select column_names from table_name where column_name is not NULL;

创建表 create table

 

 

Update

 

 

Update customer set contactName=’Juan’ where country=’Mexico’;

Delete

 

 

运算符 + - * / %

=  != <>  >   <  >=   <=  !<    !>

Sql运算符

All and  any  between  exists  in like  not   or   is null   unique

布尔表达式:匹配单个值获取数据

 

 

数值表达式

 

 

 

 

avg()、sum()、count()

select count(*) as “RECORDS” from customers;

日期表达式

Select current_timestamp返回当前系统日期和时间值

Select getdate();;

Select top语句limit    rownum

MySQL支持LIMIT子句来选择有限数量的记录,而Oracle使用ROWNUM。

简单的分页方法,使用LIMIT可以减少查询数据返回的时间,提高效率。

 

 

 

 

 

 

Select top 50 percent * from customers;

Sql like运算符:搜索列中指定的模式

 

 

 

 Wildcards通配符:替换字符串中任何其他字符

 

 

 

 

 

 

 

 

SQL  in运算符允许在where 中指定多个值

                              是多个or条件的简写

 

 

 

 

SQL between运算符

 

 

 

 

Sql通用数据类型

 

 

 

 

不同数据库平台某些数据类型通用名称

 

 

Sql语句快速参考

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQL join 用于把来自两个或多个表的行结合起来。基于这些表之间的共同字段。

先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上

 

 

 

 

 

 

Inner join(内连接)

 

 

 

 

Left Join左连接

SQL左链接LEFT JOIN关键字返回左表(表1)中的所有行,即使在右表(表2)中没有匹配。如果在正确的表中没有匹配,结果是NULL。

LEFT JOIN 关键字返回左表(Customers)中的所有行,即使在右边表(Orders)中没有匹配。

 

 

Right Join右连接

SQL右链接 RIGHT JOIN 关键字返回右表(table2)的所有行,即使在左表(table1)上没有匹配。如果左表没有匹配,则结果为NULL。

 FULL OUTER JOIN关键字返回左表(Customers)中的所有行,以及右表(Orders)中的所有行。如果 "Customers"中的行中没有"Orders"中的匹配项,或者"Orders"中的行中没有 "Customers"中的匹配项,那么这些行也会列出。

 

 

 

 

 

Full outer join完整外部连接

 

 

 

Self Join自连接

自联接是一种常规联接,但表本身是连接的

 

 

Union运算符

UNION运算符用于组合两个或更多SELECT语句的结果集,而不返回任何重复的行

 

 

UNION All运算符用于组合两个SELECT语句(包括重复行)的结果。

 

 

Select into语句:将信息从一个表中复制到另外b一个表中

                                             即:从表中复制数据,然后将数据插入到另外一张表中

 

 

撤销索引,表,数据库

Drop index删除表中的索引

 

 

仅仅删除表中的数据

 

 

Create table

 

 

 

 

Alter table向表中添加列

 

 

 

 

 

 

 

 

Sql  auto_increment字段: 会在新记录插入表中时生成一个唯一的数字

我们通常希望在每次插入新记录时自动创建主键字段的值。

我们可以在表中创建一个自动增量(auto-increment)字段。

mysql

 

 

 

 

Sql server  ID列定义自动递增主键字段

 

 

提示:指定“ID”列以10开头,并递增5,将标识( identity )更改为IDENTITY(10,5)。

 要在 "Persons" 表中插入新记录,我们不需要为"ID"栏指定值(自动添加唯一值):

 

 

Oracle

您必须使用序列( sequence )对象(该对象生成数字序列)创建自动增量( auto-increment )字段。

 

 

 

 

Create view创建视图

在 SQL 中,视图是基于 SQL 语句的结果集的可视化表。

 视图包含行和列,就像真正的表一样。视图中的字段是一个或多个数据库中真实表中的字段。

 您可以添加 SQL 函数,在哪里添加,并将语句连接到视图,或者您可以呈现数据,就像数据来自单个表一样。

 

 视图总是显示最新数据!每当用户查询视图时,数据库引擎就使用视图的 SQL 语句重新构建数据

 

 

 

 

更新视图

 

 

 

 

Sql  date

 

 

 

 

 

 

 

 

 

 

 

 

Sql 别名aliases

 

 

约束

约束是作用于数据表中列上的规则,用于限制表中数据的类型。约束的存在保证了数据库中数据的精确性和可靠性。

 约束有列级和表级之分,列级约束作用于单一的列,而表级约束作用于整张数据表

 

 

删除约束

 

 主键约束(Primary Key)、外键约束(Foreign Key)、唯一性约束(Unique Constraint)以及上面提到的其他约束

 

 

 

 

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法

 

 

 

 

 

 

主键约束

 

 

如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:

 

 

 

外键约束foreign key

 

 

 

 

Default约束

 

 

 

Check约束

 

 

 

 

 

右连接

 右链接返回右表中的所有记录,即是左表中没有任何满足匹配条件的记录。这意味着,如果 ON 子句在左表中匹配到了 0 条记录,该连接仍然会返回至少一条记录,不过返回的记录中所有来自左表的字段都为 NULL。

 这就意味着,右连接会返回右表中的所有记录,加上左表中匹配到的记录,或者是 NULL (如果连接谓词无法匹配到任何记录的话)。

克隆数据表

 

 

 

 

 

 

 

 

 

索引

 

 

避免使用索引:

1小数据表

2频繁大量更新或插入操作的表

3列中包含大数或NULL值

4频繁操作列

子查询不能使用 ORDER BY,不过主查询可以。在子查询中,GROUP BY 可以起到同 ORDER BY 相同的作用。

SQL ALTER TABLE 命令用于添加、删除或者更改现有数据表中的列。

 你还可以用 ALTER TABLE 命令来添加或者删除现有数据表上的约束。

处理重复数据:distinct

有时候,数据表中会存在相同的记录。在获取表中记录时,相较于取得重复记录来说,取得唯一的记录显然更有意义。

 我们之前讨论过的 SQL DISTINCT 关键字,与 SELECT 语句一起使用可以时,可以达到消除所有重复记录,只返回唯一记录的目的。

 

 

使用视图:

视图无非就是存储在数据库中并具有名字的 SQL 语句,或者说是以预定义的 SQL 查询的形式存在的数据表的成分

 

 

在使用时视图可以被视为一个“虚拟表

 

 

 

 

 

 

 

 

SAVEPOINT 是事务中的一个状态点,使得我们可以将事务回滚至特定的点,而不是将整个事务都撤销。

 

 

 

 RELEASE SAVEPOINT 命令用于删除先前创建的保存点

 

 

临时表

 

 

 

 

 

 

 

 

GROUP BY语句通常与集合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以按一个或多个列对结果集进行分组。

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与 Aggregate 函数一起使用。

 HAVING子句已添加到SQL中,因为WHERE关键字不能用于聚合函数

 

 

SQL 字母大小写转换函数UPPER(s)、UCASE(s)、LOWER(s)和LCASE(s)

 

 

 

 

 

 

 

 

FORMAT() 函数用于对字段的显示进行格式化。

 

 

 

 

ROUND() 函数用于把数值字段舍入为指定的小数位数。

 

 

 

 

SQRT 函数用于计算得出任何数值的平方根

 

 

 

 QL 有一个 RAND 函数,用于产生 0 至 1 之间的随机数

 

 

 

 CONCAT 函数用于将两个字符串连接为一个字符串

 

 

 

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数

 

 

 

 

 

 

 

SQL REPLACE()字符串替换函数

 

 

 

 

 

 

 

SQL TRIM()函数去除字符串头尾空格

 

这篇关于mysql/oracle/sqlserver SQL 增删改查 及各种用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!