数据库常见命令总结

---------------------------------------------------------------------SQL
structured query language. ANSI (American National Standards Institute) standard.
功能如下:
- 对一个数据库进行查询
- 从数据库中抓取数据
- 在数据库中插入record
- 在数据库更新record
- 从数据库中删除record
- 创建新的database
- 在数据库中创建新的table
- 在数据库中创建存储的过程(procedure)
- 在数据库中创造view
- 可以对tables, procedures和views设置权限。

以下是建立一个网站的必须:
- An RDBMS database program (i.e. MS Access, SQL Server, MySQL)-》Relational Database Management System. 其中存储的数据对象叫做tables,然table的话是相关的数据入口的集合,其中包括了行和列。
- A server-side scripting language, like PHP or ASP
- SQL
- HTML / CSS


2 SQL的语法
数据库的table
     tables 包含了带着数据的records(rows)
    
SQL 声明
     SELECT * FROM Persons 将会吧Persons table中所有的records都选中,声明大小写无所谓
    
SQL的 Data Manupulation language(DML)和Data Definition Language(DDL)
     Query and updata part from DML
          SELECT - 从数据库中取数据
          UPDATA - 往数据库里更新数据
          DELETE - 从数据库中删除数据
          INSERT INTO - 往数据库中插入新的数据
    
     DDL部分主要是允许数据库的tables被建立或删除,它也会定义索引(keys),指定tables之间的联系,以及在table之间增加限制
          CREATE DATABASE - 建立新的数据库
          ALTER DATABASE - 修改一个数据库
          CREATE TABLE - 建立一个新的table
          ALTER TABLE
          CREATE INDEX - 建立一个index key(搜索用)
          DROP INDEX - 删除一个index
          DROP TABLE table_name 删除一个table
          TRUNCATE TABLE table_name 删除table中的内容,但是保留table本身。
         
SQL SELECT 声明
     SELECT column_name(s) FROM table_name
     SELECT * FROM table_name 全选
     内容存储到result_set中
    
     在result_set中的导航
          属于php的内容了
         
SQL SELECT DISTINCT 声明
     在一个table里面,有时候可能不同的行有相同的列值,当只想返回不同的值的时候(同一列里面相同的值只返回一次)
     SELECT DISTINCT column_name(s) FROM table_name
    
SQL WHERE 子句(clause)
     用来提取那些只满足特定条件的records
     SELECT column_name(s) FROM table_name WHERE column_name operator value
     字符 value的周围要加上单引号来表示引用,数字value则不用加
     以下符号被允许:= <> > < >= <= BETWEEN(在特定区域之间) LIKE(搜索一个模式) IN(对一个列指定多个可能的值) 是否在其中吧
    
SQL AND & OR 操作符
    
SQL ORDER BY 关键字
     用来给result_set 也就是返回的结果排序
     SELECT column_name(s) FROM table_name ORDERED BY column_name(s) ASC|DESC
     默认排列是升序 DESC是降序
    
SQL INSERT INTO声明
     用来往table里面加入record(也就是一行)
     两种写法
          INSERT INTO table_name VALUES(value1,value2,value3,...)
          INSERT INTO table_name(column1,column2,column3,...) VALUES(value1,value2,value3,...)
         
SQL UPDATE 声明
     用来更新table里的record
     UPDATA table_name SET column1=value, column2=value2,.. WHERE some_column=some_value (后面的这个还是用作筛选条件,然后再用set进行相应的设置,一定要保证这个筛选条件可以精确的找到一条record)
    
SQL DELETE 声明
     DELETE FROM table_name WHERE some_column = some_value
     全部删除的时候 DELETE FROM table_name 或者 DELETE * FROM table_name

SQL TOP 子句
     规定返回的records数量
     SELECT TOP number|percent column_name(s) FROM table_name
     SELECT TOP 50 PERCENT * FROM Persons
     Could be a number or a percentage
    
SQL LIKE 操作符
     主要是用在WHERE里寻找特定的模式
     % 符号可被用来定义通配符(模式中缺少的字母),可在字母前,也可在字母后。
     同时也存在 NOT LIKE操作符
     SELECT * FROM Customers
     WHERE Country LIKE '%land%';

SQL 通配符
     在数据库中搜索数据的时候可以用来替代一个或多个字母
     % 代替零个或多个字母
     _ 代替一个字母
     [charlist] charlist中的任何单个字符
     [^charlist] 任何不在charlist中的字符 or [!charlist]
     SELECT * FROM Persons WHERE LastName LIKE '[!bsp]%'
    
SQL IN 操作符 和 BETWEEN 操作符
     SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
     SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
    
SQL Alias 别名
     别名可以被给到一个table或者一个列
     SELECT column_name(s) FROM table_name AS alias_name
     SELECT column_name AS alias_name FROM table_name
     一般用于column_name太长的时候。

SQL Joins
     从两个或多个table中查询数据。
     JOIN;LEFT JOIN;RIGHT JOIN;FULL JOIN
     找到两个TABLE中的交叉部分,加以展示。

SQL UNION
     结合两个或多个SELECT命令返回的结果。
     默认只结合唯一的值,如果有想要重复就UNION ALL
    
SQL SELECT INTO
     通常用于建立Table的备份。
     SELECT * INTO Persons_Backup FROM Persons

SQL Constraints
     限制进入到TABLE内的数据类型,可以在CREATE的时候定义,也可以在Alter的时候定义
     :NOT NULL
     :UNIQUE
     :PRIMARY KEY
     : FOREIGN KEY
     : CHECK 限制值的范围CHECK (P_Id>0)
     : DEFAULT DEFAULT 'Sandnes'要是没值插入,就用这个默认值。
     CREATE TABLE Persons
     (    
     P_Id int NOT NULL,
     LastName varchar(255) NOT NULL,
     FirstName varchar(255),
     Address varchar(255),
     City varchar(255)
     )
     CREATE TABLE Orders
     (
     O_Id int NOT NULL,
     OrderNo int NOT NULL,
     P_Id int,
     PRIMARY KEY (O_Id),
     FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
     )
    
SQL ALTER
     可以add delete和modify
     ALTER TABLE table_name ADD column_name datatype
     ALTER TABLE table_name DROP COLUMN column_name

SELECT COUNTS(*) FROM Persons获得Table中的行数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值