常用sql语句语法
DDL(Data Definition Language):数据定义语言
DDL(Data Definition Language):数据定义语言
Data :数据 Definition :定义Language:语言
--创建数据库
create database 数据库名
--删除数据库
drop database 数据库名
--切换数据库
use 数据库名
--创建数据表
create table 表名(字段列表)
--删除数据表
drop table 表名
--给表添加默认值
Alter table [表名] add constraint [约束名] Default (‘默认值’) for 列名;
--给表中添加外键约束:
Alter table 从表名 add constraint 外键名 foreign key(从表外键列) references 主表名 (主键列);
--给表中添加列
Alter table [表名] add 字段名 数据类型 (约束);
DML(Data Manipulation Language)数据操纵语言
Data :数据 Manipulation:操作 Language:语言
--添加数据
INSERT 表名 列的列表 VALUES 要插入的值的列表
--update更新表
UPDATE 表名 SET COLUMN1 = 新值 1,COLUMN2=新值 1….. WHERE 条件
--数据删除
DELETE [FROM] 表名称 WHERE 条件
TRUNCATE TABLE 表名称
DQL(Data Query Language):数据查询语言
Data :数据 Query :查询Language:语言
--查询所有
select * from 表名
--查询表的指定字段
select 列名 from 表名
--给列起别名
select 列1 as 别名,列2 别名2,列名3=列3 from 表名
--聚合函数
select count(列名),AVG(列名),max(列名),min(列名),avg(列名) from 表名
--查询前几行数据
select TOP (expression) * from 表名
--查询表中前百分之几的数据
select TOP (expression) PERCENT * from 表名
--去掉重复列
select distinct 列 from 表名
--分级查询
select case(列) when 条件 then 结果 when 条件 then 结果 end from 表名
--根据条件查询
select * from 表名 where 条件
--根据条件查空
select * from 表名 where 列 is null
--根据条件查非空
select * from 表名 where 列 is not null
--根据条件范围查询
select * from 表名 where 列 between '' and ''
--根据条件模糊查询
select * from 表名 where 列 like '%_'
--根据条件多值查询
select * from 表名 where 列 in ('','','')
--排序查询
select * from 表名 order by 列 asc/desc
--分组查询
select 列名 from 表名 group by 列名
--分组后过滤
select 列名 from 表名 group by 列名 having 条件
--子查询
select * from 表1 where 列1 in (select 列1 from 表2)
--相关子查询
select (select 列1 from 表2 where 表2.列=表1.列) from 表1
--内连接Inner Join
select 字段列表 from 表名1 [inner] join 表名2 on 关联条件
--左外连接left [outer] join
select 字段列表 from 表1 left [outer] join 表2 on 关联条件;
--右外连接right[outer] join
select 字段列表 from 表1 right[outer] join 表2 on 关联条件;
SQL语句怎么对单个字段去重,并且要显示所有列:
select * from 表名 where 主键 in(select max(主键) from 表名 group by 要去重的字段 )