SQL 语法速记

----------------------------------DML(数据操作语言)----------------------------------
--insert into 表名(列名列表) values(值列表);
insert into Students(SName,SSex,Age) values('张某某',default,16);
--insert into Table1(SName,SSex,Age) select SName,SSex,Age from Students;
--select identity(int,1,1),列名 into 新表 from 原始表
--insert 表(列) select 值 union
---------获取当前更新的标识列(得到自动增长字段的主键值)---------
--insert into 表名(列名列表) values(值列表) select @@identity;
--insert into 表名(列名列表) output inserted.Id values(值列表);
--update 表名 set 列名=更新值 where 条件
--delete from 表名 where 条件
--truncate table 表名 --(只删除表中的所有行,但表的结构、列、约束、索引等不会被改动;不能用于删除有外键约束引用的表)

----------------------------------DQL(数据查询语言)----------------------------------
--select 列名 from 表名 
--where 条件 
--group by 列名 
--having 筛选条件 
--order by 列名 asc或desc

----------------------------------删除姓名、年龄重复的记录(常考)---------------------------------- 
Id  name  age  salary 
   yzk    80  1000 
   yzk    80  2000 
   tom    20  20000 
   tom    20  20000 
   im     20  20000 

--取得不重复的数据
select * from Persons 
where Id in 
(
    SELECT MAX(Id) AS Expr1 
    FROM Persons
    GROUP BY Name,Age 
) 

--select distinct Name,Age from Persons

--根据姓名、年龄分组,取出每组的Id最大值,然后将Id最大值之外的排除。

--删除重复的数据:
delete from Persons 
where Id not in 
(
    SELECT MAX(Id) AS Expr1
    FROM Persons 
    GROUP BY Name,Age 
)

----------------------------------DDL(数据定义语言,建表、建库等语句。)----------------------------------
--创建文件夹
exec xp_cmdshell 'mdir d:\MyDB'
use master
go
if exists(select * from sysdatabases where name='MySchool')
    drop database MySchool
create database MySchool
on primary
(
    --括号一定是圆括号
    name='MySchool_data',            --数据库名称
    filename='d:\MySchool_data.mdf',--物理文件名
    size=3mb,                        --初始大小
    maxsize=10mb,                    --最大大小
    filegrowth=15%                --主文件增长率
)
log on
(
    name='MySchool_log',            --日志文件名
    filename='d:\MySchool_log.ldf',    --日志物理文件名
    size=1mb,                        --初始大小
    maxsize=4mb,                    --最大大小
    filegrowth=1mb
)
go                                    --和后续的SQL语句分隔开

use MySchool
go
if exists(select * from sysobjects where name='Student')
    drop table Student
create table Student    --创建学生信息表
(
    sId int identity(1,1) not null primary key,--自动编号
    sClassId int not null,            --班级外键
    sName nvarchar(50) not null,
    sAge int not null,
    sNo numeric(18,0),
    sSex char(2) not null,
    sEmail varchar(50)
)

----------------------------------约束----------------------------------
--主键约束(PK) primary key constraint 唯一且不为空
--非空约束 Not NULL 列不能为空
--唯一约束 (UQ)unique constraint
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值