sql server 入门总结(一)

一.DDL


--建立数据库

CREATE DATABASE test

ON ( --数据文件

NAME=test_dat.mdf, --数据库名

FILENAME='d:\test_dat.mdf', --数据库文件绝对路径 默认是在安装文件下

SIZE=5MB, --指定大小 默认为1MB 最小值为 512KB

MAXSIZE=20MB, --指定是文件最大值 ,UNLIMITED 表示不限大小

FILEGROWTH=15% --指定文件增长大小,默认值为10% ,最小值为64KB
)

LOG ON ( --数据日志文件

NAME=test_log.ldf,

FILENAME='d:\test_dat.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=5%
)


--修改数据库

ALTER DATABASE test --添加数据文件

ADD FILE (

NAME=test2_dat.ndf,

FILENAME=d:\test2_dat.ndf

SIZE=4MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=4MB
)


ALTER DATABASE test REMOVE FILE test2_dat.ndf --删除数据库次文件


ALTER DATABASE test MODIFY FILE ( --修改数据库文件

NAME=test2_dat.ndf ,

NEWNAME=newtest2_dat.ndf,

SIZE=8MB
)


DROP DATABASE test2,test --删除数据库



-- 建立表

CREATE TABLE student (

studentID varchar(10) not null,

name varchar(8) not null,

sex char (2) null,

password varchar(15) not null,

grade varchar (6) null ,

speciality varchar (6) null,

phoneNumber varchar (15) null,

credit real null,

CONSTRAINT PK_student_studentID PRIMARY KEY ( studentID), --

CONSTRAINT CK_student_studentID CHECK ( LIKE '[0-9][0-9][09][0-9][0-9]),

CONSTRAINT CK_student_credit CHECK ( credit>0.5 AND credit<-100) --建立字段约束

)


CREATE TABLE course (

courseID varchar(4) not null,

teacherID varchar(4) not null,

courseName varchar(10) not null,

courseClass varchar(8) not null,

courseCredit real nout null,


CONSTRAINT PK_course_courseID PRIMARY KEY ( courseID ), --表级主键

CONSTRAINT FK_course_teacherID FOREIGN KEY ( teacherID) --关联外键

)


CREATE TABLE teacher (

teacherID int IDENTITY(1,1) PRIMARY KEY not null, --列级主键

name varchar (10) not null,

position varchar (9) null

)

CREATE INDEX index_name on teacher(teacherID ,DESC) --建立索引


DROP INDEX teacher index_name --删除所以


ALTER TABLE teacher alter coulmn name varchar(8) --修改字段

ALTER TABLE teacher ADD sex varchar(2) --加入字段

DROP TABLE teacher --删除表


二.DML
1.单表操作

INSERT teacher (name,sex) VALUES ('xiaolu','male') --插入值


UPDATE teacher SET position='professor',sex='female' WHERE name='xiaolu' --修改记录


DELETE teacher WHERE name='xiaolu' --删除记录


SELECT GETDATE() --当前时间

SELECT UPPER('abc') --ABC

SELECT LOWER('ABC') --abc

SELECT RTRIM('ABC ') --去除右边的空格

SELECT LTRIM(' ABC') --去除左边的空格

SELECT LTRIM(RTRIM(' ABC ') --去除首尾的空格


SELECT 123 --123

SELECT 123+456 --579

SELECT '123'+'456' --123456

SELECT GETDATE() AS 当前日期 FROM tablename --表中有几条记录就返回几条结果

SELECT @@VERSION --当前数据库版本

SELECT @@ERROR --检测是否有SQL syntax error

SELECT @@ROWCOUNT --返回执行影响的行数



SELECT *FROM tablename --表中所有记录

SELECT name ,sex FROM student --表中指定列记录

SELECT DISTINCT name FROM student --去掉重复的记录


SELECT 'china' AS nationality ,name

,sex,LTRIM(LTRIM(str(credit)))+'分' AS credit FROM student


/*加入一列 字段名 nationality'其值为 china; 将字段credit 字段中的值加一个字符‘分’单位*/


SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column1='***'[/color] -- 单一条件查询


SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column1 IS NULL [/color] -- NULL条件查询


SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column1='***' AND WHERE column2='****' [/color] -与条件查询
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column1='***' OR WHERE column2='****' [/color] -或条件查询1
)


SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column3>=m AND column3<= n[/color] --范围条件查询1
)
SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column3 BETWEEN m AND n[/color] ----范围条件查询2
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 IN (i,j,k) [/color] -或条件查询
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 LIKE %某字符% [/color] -全包含通配符条件查询
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 LIKE 某字符% [/color] --通配符开头条件查询
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 LIKE %某字符 [/color] -通配符结尾条件查询
)

SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 LIKE %某字符 [/color] -结尾包含条件查询


SELECT column1,column2,......,cloumnN FROM table_name (

[color=red] WHERE column4 LIKE 某字符_ [/color] -某字符后面必须有且有个字符条件查询

)

当然这些WHERE 条件 查询 都可以可以 加入 NOT 关键字(但是不推荐使用,因为很可能影响效率) 比如:

SELECT column1,column2,......,cloumnN FROM table_name (

WHERE column4 [color=red] NOT[/color] LIKE 某字符_ -某字符后面必须有且有个字符条件查询

)


/*聚合函数*/

SELECT [color=green]AVG(column5) AS 'column'[/color] FROM tablename WHERE column6='**' --求一个数值型列的平均值


SELECT [color=green]COUNT(*) AS 'column'[/color] FROM tablename WHERE column2='**' --计算指定列中选择选择的项数


SELECT column1 , MAX(column2)AS 'column' FROM tablename
--计算指定列中最大的值


SELECT column2 [color=green],MIN(column1) AS 'column'[/color] FROM tablename
--计算指定列中最小的值


SELECT [color=green]SUM(column1) AS 'column'[/color] FROM tablename
--计算指定列中的总合


/*排序*/

SELECT * FROM student [color=red] ORDER BY class DESC[/color]
-- 以‘班级’的降序排列‘学生表’中所有记录


SELECT * FROM student[color=red] ORDER BY class ASC,score DESC[/color]
--以‘班级’的升序和‘学分’的降序排列‘学生表’中所有记录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值