Demo:创建了一个工人信息表,它包括工人编号、姓名、性别、出生日期、职位、工资和备注信息。SQL语句的程序清单如下:、
(本人使用的数据库软件是Sql server 2005)
创建数据库:
create database Test;
创建表:
CREATETABLEworker(
numberchar(8)notnull,
wnamechar(8)NOTNULL,--此处不能用name
sexchar(2)NULL,
birthdaydatetimenull, //
job_titlevarchar(10)null,
salarymoneynull,
memontextnull);
以下是一些简单操作:'
表的增删改查
插入: insert into 表名 (属性列名1,属性列名2..)values(常量1,常量2..)(属性列数==常量数)
insert into worker values('201222','小明','男',2011-11-02,'教师',4000,null,17);
修改:update 表名 set列名=表达式,列名=表达式...where 约束条件;update worker set birthday=2011-09-01 where number='201222'; (在此解释下,在插入时,时间值与我们要求的不一致,在更改时也没有达到我们的要求,可能是与软件种类有关,不过插入和修改语句都是正确的。)删除:delete from 表名 where 约束条件;delete from worker where number='201222';查询: select [all|distinct]属性列1,属性列2.. from 表名 (视图)where条件表达式group by <属性列>having条件表达式 orderby[asc|desc]相关解释:all 查询时,存在重复,显示重复;select all * from worker; distict 查询时,存在重复,去除冗余group by 将结果按<属性列>的值进行分组,该属性列的相等的值 为一个组。having 后也加约束条件 与where的差别是:where 用于整个表或者视图,having 用于属性列. order by 对查询结果按照一个或者多个属性列的升序(asc)或者降序(desc)排列,默认是升序。(这篇文章只说明一些简单查询,下篇文章会对查询做详细说明,例如连接查询,嵌套查询) select * from worker; select number from worker;视图的创建:create view Wor as select * from worker;视图的增删改查:(和表一样)select * from Wor;delete from Wor where wname='小明';insert into Wor values('190292','小红','女',1990-11-09,'软件工程师',10000,null,24);update Wor set number='201400' where wname='小红';表的修改:(如果读者细心可以发现,我在定义表时,只有七列,而在数据录入时,却要录入八个数据)增加属性列:alter table表名 add属性列名 数据类型 约束条件alter table worker add age int;修改属性列:alter table 表名 alter column属性列 新数据类型alter table worker alter column salary float;删除表:drop table 表名;drop table worker;完整性约束:(表创建完成后约束)添加约束:alter table 表名 addconstraint 列名(此处可以随意起名)PRimary key(列名)|列名 check(列名 约束条件);alter table worker add constraint number primary key(number);alter table worker add constraint age check (age between 0 and 200);alter table worker add constraint sex check (sex in ('男','女'));删除约束:alter table worker drop constraint number;alter table worker drop constraint sex;表内约束:create table Worker1(Wnumber char(10) not nullconstraint Wnumber primary key(Wnumber),Wname char(10) not null,Wsex char(2)constraint Wsex check(Wsex in ('男','女')),Wbirth datetime null,Wjob char(10) null,Wage int constraint Wage check(Wage between 0 and 200 )); 第一次写,写下来发现好多都没有写呢,而且很凌乱,请各位多多指教。新闻热点
疑难解答