码迷,mamicode.com
首页 > 数据库 > 详细

SQL基础

时间:2019-07-29 14:21:25      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:delete   default   operator   哪些   数据库系统   可视化   一起   out   等等   

CREATE DATABASE 

功能:用于创建数据库。

语法:CREATE DATABASE dbname;

CREATE TABLE 

功能:用于创建数据库中的表。

语法:CREATE TABLE table_name
   (
   column_name1 data_type(size),
   column_name2 data_type(size),
   column_name3 data_type(size),
   ....
   );

column_name 参数规定表中列的名称。

data_type 参数规定列的数据类型(例如 varchar、integer、date 等等)。

size 参数规定表中列的最大长度。

约束 (CONSTRAINT)

功能:用于规定表中的数据规则。

   如果存在违反约束的数据行为,行为会被约束终止。

   约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

语法:CREATE TABLE table_name
   (
   column_name1 data_type(sizeconstraint_name,
   column_name2 data_type(sizeconstraint_name,
   column_name3 data_type(sizeconstraint_name,
   ....
   );

在 SQL 中,我们有如下约束:

  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。
  • DEFAULT - 规定没有给列赋值时的默认值。

CREATE INDEX 

功能:用于在表中创建索引。

语法:CREATE INDEX index_name
   ON table_name (column_name)

DROP 

功能:删除索引、表及数据库

语法:

  • DROP DATABASE - DROP DATABASE dbname;    //删除数据库
  • DROP TABLE - DROP TABLE table_name;    //删除表
  • TRUNCATE TABLE - TRUNCATE TABLE table_name;   // 只删除表中数据,不删除表本身。

ALTER 

功能:用于在已有的表中添加、修改或删除列。

语法:

  如需在表中添加列,请使用下面的语法:

  ALTER TABLE table_name
  ADD column_name datatype

  如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):

  ALTER TABLE table_name
  DROP COLUMN column_name

  要改变表中列的数据类型,请使用下面的语法:

  SQL Server / MS Access:

  ALTER TABLE table_name
  ALTER COLUMN column_name  datatype;

  My SQL / Oracle:

  ALTER TABLE table_name
  MODIFY COLUMN column_name datatype;

  Oracle 10G 之后版本:

  ALTER TABLE table_name
  MODIFY column_name datatype;

视图 (VIEWS) 

功能:视图是基于SQL语句的结果集的可视化的表。

语法:CREATE VIEW view_name AS
   SELECT column_name(s)
   FROM table_name
   WHERE condition;

SELECT 

功能:用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

语法:SELECT column_name,column_name ......

   FROM table_name;

   与

   SELECT * FROM table_name;

SELECT DISTINCT 

功能:在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT 关键词用于返回唯一不同的值。

语法:SELECT DISTINCT column_name,column_name ......

   FROM table_name;

WHERE 

功能:用于提取那些满足指定标准的记录。

语法:SELECT column_name,column_name......
   FROM table_name
   WHERE column_name operator value;

AND&OR

功能:AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

   如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

   如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

ORDER BY 

功能:ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

   ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

语法:SELECT column_name,column_name
   FROM table_name
   ORDER BY column_name,column_name ASC|DESC;

INSERT INTO

功能:用于向表中插入新数据。

语法:可以有两种编写形式:

  • 第一种形式无需指定要插入的数据的列名,只需提供被插入的数据即可。

  INSERT INTO table_name

  VALUES (value1,value2,......);

  • 第二种形式需指定要插入数据的列名和值。

  INSERT INTO table_name (column1,column2,......)

  VALUES (value1,value2,......);

UPDATE 

功能:用于更新表中已存在的记录。

语法:UPDATE table_name

   SET column1=value1,column2=value2,......

   WHERE some_column=some_value;

注意:WHERE子句规定了哪些记录需要更新,如果省略了WHERE子句,所有记录都将被更新。

DELETE 

功能:用于删除表中存在的记录。

语法:DELETE FROM table_name

   WHERE some_column=some_value;

注意:WHERE子句规定了哪些记录需要删除,如果省略了WHERE子句,所有记录都将被删除。

LIKE 操作符 

功能:用于在 WHERE 子句中搜索列中的指定模式。

语法:SELECT column_name(s)
   FROM table_name
   WHERE column_name LIKE pattern;

通配符 

功能:用于替代字符串中任何其他字符,一般与LIKE一起使用。

语法:%  ——  替代0个或多个字符。

    _  ——  替代一个字符。

   [charlist]  ——  字符列中的任何单一字符。

   [^charlist] 或 [!charlist]  ——  不在字符列中的任何单一字符。

IN 操作符 

功能:允许在WHERE字句中规定多个值。

语法:SELECT column_name(s)
   FROM table_name
   WHERE column_name IN (value1,value2,...);

BETWEEN 操作符 

功能:选取介于两个值之间的数据范围内的值(值可为数值、文本、日期)。

语法:SELECT column_name(s)
   FROM table_name
   WHERE column_name BETWEEN value1 AND value2;

别名 

功能:可以为表名称或列名称指定别名(为了使可读性更强)。

列别名语法:SELECT column_name AS alias_name
      FROM table_name;

表别名语法:SELECT column_name(s)
      FROM table_name AS alias_name;

JOIN(连接) 

功能:基于表之间的共同字段,用于把来自两个或多个表的行结合起来。

语法:SELECT column_name(s)
   FROM table_name1
   INNER JOIN (替换)  table_name2
   ON table_name1.column_name=table_name2.column_name;

  • INNER JOIN ( =JOIN ):如果表中有至少一个匹配,则返回行
  • LEFT JOIN ( =LEFT OUTER JOIN ):即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN ( =RIGHT OUTER JOIN ):即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN ( =FULL OUTER JOIN ):只要其中一个表中存在匹配,则返回行 

UNION

功能: UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

语法:

UNION()

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

注意:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

 

SQL基础

标签:delete   default   operator   哪些   数据库系统   可视化   一起   out   等等   

原文地址:https://www.cnblogs.com/xiaomei1990/p/9297997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!