 | 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--按升序排列
| |