灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4652回复:0

[SQL Server]SQL三种语言

楼主#
更多 发布于:2013-07-08 13:17
SQL三种语言
 
/*SQL分类:
 
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
 
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
 
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
 
*/
 
create database mydb1 --创建一个数据库
 
 
drop database mydb1   --删除一个数据库
 
create database mydb2 --创建一个具体的数据库文件
 
on
 
(  /*--数据文件的具体描述--*/
 
   name=mydb2_new,-- 主数据文件的逻辑名称
 
   filename='D:\a.mdf', -- 主数据文件的物理名称
 
   size=3, --主数据文件的初始大小
 
   maxsize=100-- 主数据文件增长的最大值
 
)
 
log on
 
(  /*--日志文件的具体描述,各参数含义同上--*/
 
   name=mydb2_new1,-- 日志文件的逻辑名称
 
   filename='D:\a.ldf',-- 日志文件的物理名称
 
   size=3,--日志文件的初始大小
 
   maxsize=100--日志文件的增长值
 
)
 
--表格
 
   --数值类型
 
     --Bit:状态类型,占个位,可以取值为、或NULL(作判断用)
 
     --int:整型,占个字节,取值范围:-2^31~2^31-1;
 
     --numeric(p,s) :由整数部分和小数部分构成,其中P为有效位数,S为小数位数,S默认值为。
 
     --float:占8个字节,取值范围:-1.79^308~1.79^308 ;
 
     --double
 
   --字符:字符类型是由字母、数字和其它一些特殊符号构成。
 
     --Char[(n)]): 存放固定长度的n个字符数据,若长度不够,则用空格补足。<=n<=8000;  ?
 
     --varchar(n): 存放可变长度的n个字符数据,若长度不够,则按实际输入长度存储。<=n<=8000;      --–注意:字符类型数据需用单引号括起来;
 
     --text   用来存储ASCII编码字符数据,最多可存储^31-1(约亿)个字符;
 
     --nchar(n)   N个字符固定长度unicode编码。N值必须指定在-4000之间
 
     --nvarchar(n)  可变长度的unicoce数据,其最大长度为个字符
 
     --ntext:用来存储Unicode编码字符型数据,最多可存储^30-1(约亿)个字符,其存储长度为实际字符个数的两倍,因Unicode字符用双字节表示;
 
   --时间
 
     --datetime :存储从年月日到年月日的日期和时间数据,每一个值要求个字节,精确到百分之三秒。
 
   --二进制
 
     --image : 可变长度的二进制,其最大长度为的次方-1 个字节。
 
/*以下是不需要描述长度的数据类型
 
image,datetime,text,ntext,float,int,double,bit*/
 
--创建表格
 
/*
 
create table 表名(
 
 
 
 列名  列类型(大小)  属性,
 
 列名  列类型(大小)  属性,
 
 列名  列类型(大小)  属性
 
)
 
*/
 
use database mydb2
 
create table student
 
(  sid int not null,
 
   sname varchar(100) not null,
 
   saddress varchar(100) not null,
 
)
 
---主键primarykey    当我们把一个列设置成主键后这个列将不可以有重复值
 
 
 
use database mydb2
 
create table student2
 
(  sid int primary key,
 
   sname varchar(100) not null,
 
   saddress varchar(100) not null,
 
)
 
 
 
--设置主键并自动增长
 
create table student1
 
(  sid int identity(1,1), --设置自动增长
 
   sname varchar(100) not null,
 
   saddress varchar(100) not null,
 
   primary key(sid)--设置主键
 
)
 
--删除表格
 
drop table student---这是将表连同表中信息一起删除但是日志文件中会有记录
 
delete from student--这是将表中信息删除但是会保留这个表
 
--增加一个列
 
Alter table student add info varchar(100)
 
--删除一个列
 
Alter table student drop column info
 
--修改一个列类型
 
Alter table student Alter column saddressnvarchar(100)
 
--DML
 
--更新
 
  insert into  添加一行记录
 
  update       修改数据
 
  delete       删除数据
 
--查询
 
  select       查看
 
 
 
--INSERT INTO 表(列名,列名,列名)VALUES(值,'值')
 
   insert intostudent(sid,sname,saddress) values(1,'张三','陕西')
 
   insert intostudent(sid,sname,saddress) values(2,'李四','广东')
 
   insert intostudent(sid,sname,saddress) values(3,'王五','云南')
 
--update 数据表set字段名=字段值where条件表达式ge
 
create table student3
 
(  sid int,
 
   age int
 
)
 
   insert intostudent3(sid,age) values(1,12)
 
   insert intostudent3(sid,age) values(2,13)
 
   insert intostudent3(sid,age) values(3,14)
 
   update student3 set age=age+1
 
 
 
--SELECT  要看的列 FROM 表名,表名  
 
/*
 
要看的列
 
1. * 表示所有的列都要看
 
2. sname,age我只看这两个列
 
*/
 
select *from student
 
select sid from student
 
select sname from student
 
select sid,sname from student
 
select sid 编号,sname 姓名from student--别名
 
--排序orderby
 
select *from student order by sid --默认按升序排列
 
select *from student order by sid desc--按降序排列
 
select *from student order by sid asc--按升序排列

喜欢0 评分0
游客

返回顶部