SQL语句创建数据库以及一些查询练习

--创建 MyCompany数据库

use master

execute sp_configure ‘show advanced options‘,1  --开启权限
reconfigure
execute sp_configure ‘xp_cmdshell‘,1
reconfigure

execute xp_cmdshell ‘mkdir e:\作业数据库‘--自动创建文件夹
execute sp_configure ‘xp_cmdshell‘,0--关闭权限,先关
reconfigure
execute sp_configure ‘show advanced options‘,0 后关,一句话,先开后关
reconfigure

if exists(select * from sysdatabases where name=‘MyCompany‘)
drop database MyCompany
go
create database MyCompany
on primary
(
name=‘MyCompany_data‘,
size=3mb,
fileGrowth=10%,
Maxsize=100mb,
filename=‘e:\作业数据库\MyCompany_data.mdf‘
)
log on
(name=‘MyCompany_log‘,
size=3mb,
fileGrowth=10%,
Maxsize=100mb,
filename=‘e:\作业数据库\MyCompany_log.ldf‘
)
--部门表 department
--	dId
--	dName
use MyCompany
if exists(select * from sysobjects where name=‘department‘)
drop table department
go
create table department
(dId int not null primary key identity(1,1),
dName nvarchar(50) not null

)
--员工表 employee
--	eId
--	eName
--	eSex
--	eAge
--	eSalary
--	eDepId
--	eInTime 入职时间

if exists(select * from sysobjects where name=‘employee‘)
drop table employee
go
create table employee
(    eId int not null primary key identity(1,1),
     eName nvarchar(50),
     eSex char(2),
     eAge int,
     eSalary money,
     eDepId int,
     eInTime datetime

)
添加外键FK_employee_department_eDepId
alter table employee
add constraint FK_employee_department_eDepId foreign key(eDepId) references  department(dId)

insert into  department values (‘教学部‘)
insert into  department values (‘业务部‘)
insert into  department values (‘学工部‘)

   insert into  employee values (‘李定‘,‘男‘,28,5000,1,‘2014-8-8‘)
   insert into  employee values (‘张月月‘,‘女‘,28,5000,2,‘2013-8-8‘)
   insert into  employee values (‘李定山‘,‘男‘,18,3000,3,‘2014-8-1‘)
   insert into  employee values (‘张三‘,‘男‘,18,1800,3,‘2014-7-1‘)
   insert into  employee values (‘张三1‘,‘女‘,18,1800,3,‘2013-7-1‘)

   insert into  employee values (‘张三2‘,‘女‘,28,4800,2,‘2011-7-1‘)

--建库  建表  建约束  添加测试数据    更新 和删除
--1、查询所有员工
 select * from  employee

--2、查询工资超过2000快钱的员工
 select * from  employee where  eSalary>2000
--3、查询最新进来的5个员工  ---降序排序
 select top 5 * from  employee order by eInTime desc

--4、查询员工的平均工资 select avg() from
  select avg(eSalary) as 平均工资 from  employee

--5、查询总共有多少员工 count
  select  count(*) as 员工数 from  employee

--6、查询每个部门有多少员工 ---按部门分组
  select eDepId,count(*) as  from  employee   group by eDepId

--7、查询每个部门的平均工资
  select eDepId,avg(eSalary)  from  employee   group by eDepId

--8、查询每个部门男员工的平均工资
  select eDepId,eSex,avg(eSalary)  from  employee where eSex=‘男‘   group by eDepId,eSex

--9、查询平均工资超过2000的那些部门  having 对分组之后的数据再进行筛选

  select eDepId,avg(eSalary)  from  employee   group by eDepId having avg(eSalary)>200

--10、查询员工工资(姓名,工资)的同时,同一结果集显示平均工资和最高工资
--select ‘ ‘+姓名,工资 from 表
--union
--select cast(平均工资 as varchar()),最高工资 from 表
select eName,eSalary from employee
union all

select ‘平均工资‘,avg(eSalary)    from  employee
union all
select ‘最高工资‘,max(eSalary)    from  employee
--这个方式也行
select eName,eSalary from employee
union all
select  convert(varchar(20),avg(eSalary)) ,max(eSalary)    from  employee
--11、查询名字里包含‘定,月‘的这些员工,并对结果按照年龄排序

select * from  employee where eName like‘%三%‘ or eName like ‘%定%‘order by eAge

----好吧没有做更新和删除

update 表名 set 字段=新赋值 where 字段=‘’例如:把张三的名字改为逗碧
update employee set eName=‘逗碧‘ where  eName=‘张三‘

delete table 表名  ===等开除吧,后面加where 否则全删除 -

--删除数据时候 把自增长列的值还原成种子

truncate table 表名 --   强迫症而已

  

SQL语句创建数据库以及一些查询练习

时间: 2024-10-25 20:44:32

SQL语句创建数据库以及一些查询练习的相关文章

2-06使用SQL语句创建数据库3

向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下面可以点击添加文件,打上名字就可以了. 第二种:使用SQL语句向数据库中添加文件组和数据文件. USE E_Market --添加文件组 FG1 ALTER DATABASE E_Market ADD FILEGROUP FG1 GO --为新建的文件组FG1添加数据文件 ALTER DATABAS

SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

创建数据库: 1 CREATE DATABASE Test --要创建的数据库名称 2 ON PRIMARY 3 ( 4 --数据库文件的具体描述 5 NAME='Test_data', --主数据文件的逻辑名称 6 FILENAME='E:\project\Test_data.mdf', --主数据文件的物理名称 7 SIZE=5MB, --主数据文件的初始大小 8 MAXSIZE=100MB, --主数据文件的增长的最大值 9 FILEGROWTH=15% --主数据文件的增长率 10 )

2-04使用SQL语句创建数据库

下面是创建数据库的一些语法: USE master--指向当前使用的数据库 GO--批处理的标志 CREATE DATABASE E_Market--创建E_market数据库 ON PRMARY--主文件组 { NAME='E_Market_data',--主文件逻辑文件名 --主文件物理文件名 FILENAME='H:\project\E_Market_data.mdf', SIZE=5MB--主文件的初始大小 MAXSIZA=100MB--主文件的增长的最大值 FILEGROWTH=15%

Sql Server SQL语句创建数据库

今天一个家伙说创建个数据库,搞了半天没弄好,习惯了图形界面,这些东西都忘了 全还给了老师...... 1 USE [master] 2 GO 3 IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') 4 BEGIN 5 DROP DATABASE HkTemp --如果数据库存在先删掉数据库 6 END 7 GO 8 CREATE DATABASE HkTemp 9 ON 10 PRIMARY --创建主数据库文件 11 ( 12

SQL语句创建数据库及表

--删除数据库drop database ArchiveDev; --建立归档数据库CREATE DATABASE ArchiveDev; USE ArchiveDev;GO --1.建立归档计划执行表CREATE TABLE Arch_CollectDataExecSchedule(ID INT NOT NULL,ArchCollectRuleID INT NOT NULL, --归档规则IDArchParameterID INT NOT NULL, --归档参数IDScheduleDate

SQL语句创建数据库及日志文件

create database S_T on primary ( name = 'S_T', filename = 'D:\DATABASE\S_T.MDF', size = 4MB, maxsize = 16MB, filegrowth = 1MB ) log on ( name = 'S_T.ldf', filename = 'd:\database\S_T_log.ldf', size = 2mb, maxsize = 6mb, filegrowth = 1mb ) 磁盘效果:

SQL Server2008创建数据库语法

use mastergo if exists(select * from sys.databases where name='MySchool') drop database MySchool  --查看当前所要创建的数据库是否存在,有则删除之.go/*--案例:使用SQL语句创建数据库MySchool具有一个数据文件和一个日志文件*/CREATE DATABASE MySchoolON PRIMARY --默认就属于PRIMARY主文件组,可省略(/*--数据文件的具体描述--*/ NAME=

用SQL语句创建和删除Access数据库中的表;添加列和删除列

用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Access数据库中的表;添加列和删除列SQL语句,具体使用方法请看帮助          Create    Table    tab1    (fld1    integer)      Drop    Table    tab1          Alter    Table    tab1   

3,SQL语句及数据库优化

 1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划 2,不要把SQL语句写得太复杂 我经常看到,从数据库中捕捉到的一条SQL语句打印出来有2张A4纸这么长.一般来说这么复杂的语句通常都是有问题的.我拿着这2页长的SQL语句去请教原作者,结果他说