sql基本

SELECT:

  select * from table

  select 列名 from table

  select DISTINCT 列名 from table

INSERT:

  insert into table values('','','',''...)

  insert into table(列,列..) values('','',..)

UPDATE:

  update table set 列=新值 where 列=某值

DELETE:

  delete from table where 列=某值

  delete * from table   (删除数据,不破坏表结构,属性,索引)

TOP:

  select top 2 * from table

  select * from table limit 2

  select top 50 percent * from table (选取50%的记录)

LIKE:

  select * from table where 列 NOT LIKE '%lon%';

通配符:

  %:替代一个或多个字符

  _:一个字符

    [ char list]:字符列中任一单个字符

  [^char list] 或者[!charlist] :不在字符列中的任一单个字符

  select * from table where column like '[ALN]%';   //以A / L / N开头的

IN:

  select * from table where column IN (value1,value2,...)

Alias(别名):

  select p.Firstname from persons AS p where p.Lastname='John'

JOIN:

  SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P;

  JOIN:同INNER JOIN,有匹配的行,再列出

  LEFT JOIN:返回左表所有行

  RIGHT JOIN:返回右表所有行

  FULL JOIN:返回左表,右表所有行

UNION:

  SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

  UNION用来合并两个或多个SELECT语句的结果集

  UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,SELECT语句的列的顺序必须相同

SELECT INTO:

  SELECT * INTO new_table FROM old_table

  select into从一个表中选取数据,然后将数据插入另一个表中,常用于创建表的备份,或对记录进行存档

CREATE DATABASE:

  CREATE DATABASE my_db

CREATE TABLE:

  CREATE TABLE Person(

  Id int,

  name varchar(25)

  )

SQL 约束:

    NOT NULL

    UNIQUE

    PRIMARY KEY

    FOREIGN KEY

    CHECK

    DEFAULT

    在创建表或者ALTER TABLE时规定约束

  UNIQUE:

    创建UNIQUE约束:

    ALTER TABLE Person ADD UNIQUE(Id)

    ALTER TABLE Person ADD CONSTRAINT uc_PersonID UNIQUE (Id,Lastname)

    撤销UNIQUE约束:

    ALTER TABLE Person DROP INDEX uc_PersonID

    ALTER TABLE Person DROP CONSTRAINT uc_PersonID

  PRIMARY KEY:

    创建:

    ALTER TABLE Person ADD PRIMARY KEY(Id)

    ALTER TABLE Person ADD CONSTRAINT pk_PersonID PRIMARY KEY(Id,Lastname)

    撤销:

    ALTER TABLE Person DROP PRIMARY KEY

    ALTER TABLE Person DROP CONSTRAINT pk_PersonID

  FOREIGN KEY:

    用于预防破坏表之间连接的动作,也可以防止非法数据插入外键列,因为他必须是他指向的那个表中的值之一

    创建:

    CREATE TABLE Orders

    (

    Id_O int PRIMARY KEY,

    Id_P int FOREIGN KEY REFERENCES Person(Id_P)

    )

    ALTER TABLE Orders ADD FOREIGN KEY(Id_P) REFERENCES Person(Id_P)

    ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Person(Id_P)

    撤销:

    ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrder

    ALTER TABLE Orders DROP CONSTRAINT fk_PerOrder

  CHECK:

    对列中的值进行限制

    创建:

    ALTER TABLE Person ADD CHECK (Id_P>0)

    撤销:

    ALTER TABLE Person DROP CHECK chk_Person

  DEFAULT:

    若没有规定其他值,就将默认值添加到新纪录中

    创建:

    ALTER TABLE Person ALTER City SET DEFAULT '深圳'

    撤销:

    ALTER TABLE Person ALTER City DROP DEFAULT

CREATE INDEX:

  在不读取整表的情况下,索引使数据库可以更快查找数据

  CREATE INDEX  index_name ON table_name(column_name,column_name)

  唯一索引意味着两个行不能拥有相同索引值

  CREATE UNIQUE INDEX index_name ON table_name(column_name)

DROP:

  删除索引,表(表的结构,属性以及索引)和数据库

  ALTER TABLE table_name DROP INDEX index_name

  DROP TABLE table_name

  DROP DATABASE db_name

TRUNCATE TABLE:

  仅删除表数据

  TRUNCATE TABLE table_name

ALTER TABLE:

  添加列:

  ALTER TABLE table_name ADD column_name datatype

  删除列:

  ALTER TABLE table_name DROP  COLUMN column_name

  改变列的数据类型:

  ALTER TABLE table_name ALTER COLUMN column_name datatype

AUTO_INCREMENT:

  默认AUTO_INCREMENT的开始值是1,若要以其他值起始:

  ALTER TABLE Person AUTO_INCREMENT=100

 

  

posted @ 2017-09-27 19:27  Uhey  阅读(115)  评论(0编辑  收藏  举报