SQL入门笔记

SQLStructured Query Language:用于访问和处理数据库的标准的计算机语言

SQL命令(SQL对大小写不敏感):

SELECT : 提取数据

  提取某列:SELECT column_name,column_name FROM table_name;

  提取所有:SELECT * FROM table_name;

  提取某列不重复:SELECT DISTINCT column_name,column_name

          FROM table_name;

  按条件提取某列:SELECT column_name,column_name

          FROM table_name

          WHERE column_name operator value;

          eg: SELECT * FROM Customers
            WHERE CustomerID=1;

  提取某列后排序:SELECT column_name,column_name
          FROM table_name
          ORDER BY column_name,column_name ASC|DESC;

SELECT TOP: SELECT TOP number|percent column_name(s)
       FROM table_name;

  Eg: SELECT TOP 2 * FROM Customers;  //返回前两条数据

UPDATE : 更新数据

  语法:UPDATE table_name
     SET column1=value1,column2=value2,...
       WHERE some_column=some_value;

  eg: UPDATE Customers
    SET ContactName=‘Alfred Schmidt‘, City=‘Hamburg‘
    WHERE CustomerName=‘Alfreds Futterkiste‘;

  tips: 如果省略了 WHERE 子句,所有的记录都将被更新!

DELETE :删除数据

  删除某条记录:DELETE FROM table_name
          WHERE some_column=some_value;

  删除表/所有:DELETE FROM table_name;
        DELETE * FROM table_name;

INSERT  INTO : 插入数据

  语法:INSERT INTO table_name (column1,column2,column3,...)
     VALUES (value1,value2,value3,...);

CREATE DATABASE : 创建新数据库

语法:CREATE DATABASE dbname;

ALTER  DATABASE : 修改数据库

CREATE  TABLE : 创建数据库表

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

ALTER  TABLE : 修改数据库表

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

  ALTER TABLE table_name
  ADD column_name datatype

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

  ALTER TABLE table_name
  DROP COLUMN column_name

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

  ALTER TABLE table_name
  MODIFY
COLUMN column_name datatype

DROP TABLE : 删除表

语法:DROP TABLE table_name

  Tips:如果我们仅仅需要删除表内的数据,但并不删除表本身,请使用TRUNCATE TABLE 语句:TRUNCATE TABLE table_name

CREATE INDEX : 创建索引

  语法:CREATE UNIQUE INDEX index_name
  ON
table_name (column_name)

DROP INDEX : 删除索引

操作符:LIKE、IN、BETWEEN 、JOIN、 UNION

通配符:通配符可用于替代字符串中的任何其他字符。如:%、-、[ ]、[! ]/[^ ]

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

Eg:
SELECT * FROM Customers
  WHERE
City LIKE ‘s%‘;

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

eg: SELECT * FROM
Customers
   WHERE
City IN (‘Paris‘,‘London‘);

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

  Eg: SELECT * FROM Products
    WHERE
(Price BETWEEN 10 AND 20)
    AND NOT
CategoryID IN (1,2,3);

SELECT * FROM Orders
 WHERE OrderDate
BETWEEN #07/04/1996# AND #07/09/1996#;

JOIN(连接): SELECT column_name(s)
        FROM table1
        INNER
JOIN table2
        ON table1.column_name=table2.column_name;

  Eg:SELECT Orders.OrderID,Customers.CustomerName,Orders.OrderDate
     FROM Orders
     INNER JOIN Customers
     ON Orders.CustomerID=Customers.CustomerID;

UNION(合并): SELECT column_name(s) FROM table1
       UNION(all)
       SELECT column_name(s) FROM table2;

Eg:
SELECT City FROM Customers
       UNION
       SELECT
City FROM Suppliers
       ORDER BY
City;

SELECT INTO(复制/备份): SELECT column_name(s)
             INTO newtable [IN externaldb]
             FROM table1;

Eg: SELECT *
          INTO
CustomersBackup2013
          FROM
Customers;

INSERT INTO SELECT(复制数据插入到已存在的表): INSERT INTO table2
                         (column_name(s))
                         SELECT column_name(s)
                         FROM table1;

Eg:
INSERT INTO Customers (CustomerName, Country)
       SELECT
SupplierName, Country FROM Suppliers;

约束:

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

SQL入门笔记的相关文章

#1 SQL入门笔记(1)

今天的笔记主要讲解的是数据库的一些常识.和数据库的创建.创建数据库的方法都是差不多的,所以掌握了这个,创建数据库就Ok了(正常使用够了).当然在实际工作中用这个创建数据库还是比较少的.都是用建库工具(eg:PowerDesign)来设计数据库的. ---2014.07.29 常用的数据库: MS: SqlServer2008->.NETIBM: DB2 ->烟草..甲骨文: oracle ->银行,证券...非商业:MYSQL->IBM,Oracle->小型站点ACCESS,

#2 SQL入门笔记(2)

这一笔记主要讲的是,创建表,创建约束.数据库的增删. 经验:1,建表的时候最好考虑用什么数据,因为用不恰当的数据会浪费空间 2,每一个表都要有联系,没有联系的表是没有意义的.. 3,把做表和做约束分开来做...看起来清晰,容易理解 4,字段最好用   [ ]扣起来 =========================================== 知识点: 一,SQL中的数据类型有以下几种 1,精确数字: tinyint(0~255),smallint(-32768~32767),int(2

MySQL入门笔记(一)

MySQL入门笔记(二) 一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name; ??上述代码中DATABASE和SCHEMA完全相同,可任选一个(花括号内的参数为任选其一): ??添加IF NOT EXISTS的作用则是,若新建数据库的名称与已有数据库名称冲突,则产

iBatis 入门笔记

iBatis简介 iBatis是一个"半自动"的轻量级O/R Mapping框架. O/R Mapping是指对象与数据库之间的映射,而iBatis就是这样一个映射器,映射器的主要作用是在对象和数据库之间搬运数据,同时保证对象.数据库和映射器之间相互独立. 通过O/R Mapping你将不用再面对那一堆令人厌恶的JDBC代码,为一堆打开连接.关闭连接的代码而眼花头昏. 何为"半自动"?    这里的半自动是与Hibernate这样的O/R Mapping方案对比得出

Hive入门笔记-----架构以及应用介绍

Hive这个框架在Hadoop的生态体系结构中占有及其重要的地位,在实际的业务当中用的也非常多,可以说Hadoop之所以这么流行在很大程度上是因为Hive的存在.那么Hive究竟是什么,为什么在Hadoop家族中占有这么重要的地位,本篇文章将围绕Hive的体系结构(架构).Hive的操作.Hive与Hbase的区别等对Hive进行全方面的阐述. 在此之前,先给大家介绍一个业务场景,让大家感受一下为什么Hive如此的受欢迎: 业务描述:统计业务表consumer.txt中北京的客户有多少位?下面是

JAVA数据库编程(JDBC技术)-入门笔记

本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学习一下.我现在很迫不及待用JAVA想来实现以下对数据库的增删改查.想实现就来看Java是怎么操作数据库的,回想下.Net里你可能会配置web.Config,或者你去写一些DBhelper类然后调用里面的自己定义的一些增删改查的方法,更或者你去配一些数据控件等等往往发现操作基本都是一体化的简单.现在面

[IT学习]sql 入门及实例

sql 是一种数据库查询语言,可以让你很快的查询到数据.其实一般情况下,你也可以采用excel来查询数据库数据. 但是人们通常认为sql会更加灵活和方便一些. sql学习的入门网站: http://www.w3schools.com/SQl/sql_orderby.asp https://en.wikipedia.org/wiki/SQL sql 学习笔记: 1.如果你对结构化数据库有概念,那么还是很容易理解的.如果你对结构化数据库一点没有概念,请自行百度结构化数据库,对数据库结构.表.字段.查

Django入门笔记【一】

入门笔记翻译整理自:https://docs.djangoproject.com/en/1.8/ *该笔记将使用一个关于投票网络应用(poll application)的例子来阐述Django的用法. 1. 查看Django是否安装及版本 1 $ python -c "import django; print(django.get_version())" 2. 创建一个项目(project) 通过cd方式进入自创目录,然后运行: 1 $ django-admin startprojec

嵌入式OS入门笔记-以RTX为案例:十.Keil的RTX调试支持

嵌入式OS入门笔记-以RTX为案例:十.Keil的RTX调试支持 调试(debug)是软件开发的一个重要环节,对于嵌入式开发而言这个环节其实比较依赖一些硬件资源(硬件debugger)的支持.传统的嵌入式系统的调试比较依赖断点(breakpoint)和单步调试(single step through).而 ARM cortex-M 系列的芯片其实有很强的CoreSight片上调试支持,实际上就是一个小的调试硬件,作为ARM的标准,内嵌在ARM的芯片里.在ARM自家的调试器ULINK-pro等的帮