SQL记事本

SQL记事本

  • DDL: Data Definition Language. 定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、聚簇、索引、视图、函数、存储过程和触发器等等。
  • DML: Data Manipulation Language.主要是进行插入元组、删除元组、修改元组的操作。主要有insert、update、delete语法组成。
  • DQL: Data Query Language
  • DCL: Data Control Language。用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。

语法

  • 删除
DELETE FROM table_name
WHERE condition;
  • 更新
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • 插入 INSERT INTO
//没有指定要插入数据的列名的形式需要列出插入行的每一列数据
INSERT INTO table_name
VALUES (value1,value2,value3,...);
//指定要插入数据的列名的形式
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
  • INSERT INTO SELECT 语法
//从一个表中复制所有的列插入到另一个已存在的表
INSERT INTO table2
SELECT * FROM table1;

//只复制指定的列插入到另一个已存在的表
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

eg.

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
  • 别名
//列的 SQL 别名语法
SELECT column_name AS alias_name
FROM table_name;
//表的 SQL 别名语法
SELECT column_name(s)
FROM table_name AS alias_name;
  • CREATE INDEX 语法
    CREATE INDEX
    CREATE UNIQUE INDEX
//简单的索引。允许使用重复的值
CREATE INDEX index_name
ON table_name (column1, column2, ...);
//唯一的索引,两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...);
  • drop
//删除索引
ALTER TABLE table_name DROP INDEX index_name
//删除表
DROP TABLE table_name
//删除数据库
DROP DATABASE database_name
  • alter
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;

关键词

  • DISTINCT(SELECT DISTINCT 语句)
SELECT DISTINCT column1, column2, ...
FROM table_name;
  • LIMIT
  • BETWEEN
  • UNION 操作符
  • 约束(Constraints)
  • IS NULL 请始终使用 IS NULL 来查找 NULL 值。
  • IS NOT NULL 必须使用 IS NOT NULL 操作符选取在 “XX” 列中不带有 NULL 值的记录

FOREIGN KEY 外键

SQL 外键约束:一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。

创建外键
创建表时,创建外键
  • foreign key (p_id) references Persons(P_Id)
//创建一个外键
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)
)
//创建多个外键
CREATE TABLE 表名
    (
        column1 datatype null/not null,
        column2 datatype null/not null,
        ...
        CONSTRAINT 外键约束名 FOREIGN KEY  (column1,column2,... column_n) 
        REFERENCES 外键依赖的表 (column1,column2,...column_n)
        ON DELETE CASCADE--级联删除
    );
///创建多个外键例子
CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);    
修改表时,添加外键
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

//命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
修改表时,撤销外键约束
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

视图

待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值