SQL语句用分号表示结束,不区分大小写,习惯上将SQL关键字大写,将列名和表名小写。表名、列名和值会区分大小写。所有空格都被忽略。
使用/ 注释 / 表示多行注释,—表示单行注释

一、创建表
用CREATE TABLE语句创建表,后面跟着表名,表名后面用()括起来的是列名,列之间用逗号分隔。每一列第一个单词是列名,随后是数据类型,也可以指定默认值
CREATE TABLE Products(
prod_id CHAR(10) NOT NULL DEFAULT ‘unknown’,
prod_name CHAR(10) NOT NULL,
prod_price DECIMAL(8,2) NOT NULL
);
二、数据插入
插入完整的行:
INSERT INTO Products(prod_id, prod_name, prod_price)
VALUES(‘BR01’, ‘8 inch teddy bear’, 5.99);
插入部分行
INSERT INTO Products(prod_id)
VALUES(‘BR02’);
三、更新数据
更新特定的行:
UPDATE Products
SET prod_name = ‘12 inch teddy bear’
WHERE prod_id = ‘BR02’;
如果不加WHERE子句就更新所有的行
三、删除数据
DELETE FROM Products
WHERE prod_id = ‘BR02’;
如果不加WHERE子句将删除所有行
四、检索数据
SELECT prod_name FROM Products; —检索一列
SELECT prod_name, prod_price FROM Products; —检索多列
SELECT * FROM Products; —检索所有列
SELECT DISTINCT prod_price FROM Products; —检索不同的列
SELECT prod_name FROM Products ORDER BY prod_name; —排序
SELECT prod_name FROM Products WHERE prod_price = 3.5; —过滤行
SELECT prod_name FROM Products WHERE prod_price BETWEEN 5 AND 10; —按条件过滤
SELECT prod_name FROM Products WHERE prod_name IN(‘8 inch teddy bear’,’12 inch teddy bear’); —按范围过滤

1.增加

①标准添加(指定所有字段,给定所有的值)

insert into 表名[(全部字段列表)] values(全部值列表…);

②指定部分字段添加值

insert into 表名[(部分字段列表)] values(部分值列表…);

③不指定字段添加值(需要指定所有字段,且需要根据当前表的顺序给定对应的值)

insert into 表名 values(全部值列表…);

④批量添加值

insert into 表名 values
(全部值列表…),
(全部值列表…),

(全部值列表…);

2.删除

delete from 表名 [where 条件]

3.修改

update 表名 set 字段1=值1,字段2=值2,字段n=值n… where 条件

4.查找

select 字段列表|* from 表名
[where 搜索条件]
[group by 分组字段 [having 分组条件]]
[order by 排序字段 排序规则]
[limit 分页参数]

  • 可在select后加distinct,表示去重

SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。

SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。

SQL INSERT INTO 语法

INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,…);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,…)
VALUES (value1,value2,value3,…);

INSERT INTO 实例

假设我们要向 “Websites” 表中插入一个新行。
我们可以使用下面的 SQL 语句:

实例

INSERT INTO Websites (name, url, alexa, country)
VALUES (‘百度’,’https://www.baidu.com/‘,’4’,’CN’);

SQL UPDATE 语句

UPDATE 语句用于更新表中的记录。

SQL UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。

SQL UPDATE 语法

UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;

SQL UPDATE 实例

假设我们要把 “菜鸟教程” 的 alexa 排名更新为 5000,country 改为 USA。
我们使用下面的 SQL 语句:

实例

UPDATE Websites
SET alexa=’5000’, country=’USA’
WHERE name=’菜鸟教程’;

SQL DELETE 语句

DELETE 语句用于删除表中的记录。

SQL DELETE 语句

DELETE 语句用于删除表中的行。

SQL DELETE 语法

DELETE FROM table_name
WHERE some_column=some_value;

SQL DELETE 实例

假设我们要从 “Websites” 表中删除网站名为 “Facebook” 且国家为 USA 的网站。
我们使用下面的 SQL 语句:

实例

DELETE FROM Websites
WHERE name=’Facebook’ AND country=’USA’;

SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

基础语句:
1、说明:创建数据库
CREATE DATABASE database-name

2、说明:删除数据库
drop database dbname

3、说明:备份sql server
—- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’
—- 开始 备份
BACKUP DATABASE pubs TO testBack

4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only

5、说明:删除新表drop table tabname

6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
  删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select
from table1 where field1 like ’%value1%’ —-like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1