基础数据库脚本12年编写

--新建数据库
create database admin
--新建表同时建字段
create table student
(
ID int,
namee nvarchar(5),
age nchar(1),
sex int
)

--删除表
drop table student
--查询
select * from student
--查询指定的字段
select ID,age from student
--小名或者别名
select namee 姓名,age 年龄from student
--添加记录
insert into student values(1,‘王建国‘,‘男‘,61)
insert into student values(2,‘李刚‘,‘男‘,55)
insert into student values(4,‘张家辉‘,‘男‘,64)
--添加部分字段()里的是需要添加的
insert into student (ID,namee,sex) values(3,‘刘能‘,69)
--删除全部记录
delete from student
--删除一条记录
delete from student where ID=1
delete from student where sex<60
delete from student where namee=‘刘能‘
--按条件查询
select ID,namee,sex from student where sex<60
--修改记录
update student set sex=56 where sex=40
update student set sex=sex+1 where sex<60

-------------------------------------------------------------------------
--数据类型
char给多少就有多少字符串varchar可变长字符串,指定长度
nchar和nvarchar是在前者的基础上采用了Unicode编码
char  varchar   含英文的
nchar nvarchar  含中文的
Unicode编码的特点是字节和汉字占用的空间一样 (要用到中午就在前面加一个n)
int        bigint        numeric(6.2)-(更加精准,好控制)
datetime    timestamp  --时间
getdate()  得到当前时间
--测试时间
create table timee(timee datetime)
insert into timee values(getdate())
select *from timee
----------------------------------------------------------------------------
--主键 (唯一标示)不能重复不为空
create table teacher
(
 ID int primary key,--primary key表示主键
namee nvarchar(5),
age int
)
delete from teacher where ID=4
insert into teacher values(1,‘王建国‘,61)
insert into teacher values(2,‘李刚‘,55)
insert into teacher (ID,namee) values(3,‘刘能‘)--插入部分字段主键必须插入
insert into teacher values(4,‘李刚‘,55)
select * from teacher
update teacher set age=69 where age is null
delete from teacher where age=61 and namee=‘李刚‘
delete from teacher where age=61 or namee=‘李刚‘
select ID,namee,age from teacher where namee=‘李刚‘or age=61

---------------------- 外键---------------------
--外键只能指向主键并且类型要一致
create database Supermarket
drop table bumen
create table bumen
(
ID int primary key,--主键
cname nvarchar(10),
address nvarchar(10)
)
create table person
(
number int primary key,
pname nvarchar(10),
work nvarchar(10),--职务
shangji int ,
ptime datetime,--入职时间
Wage numeric(6,1),--工资
buzhu numeric(5,1),
ID int foreign key references bumen(ID)--外键
)
select * from bumen
select * from person
--修改员工的上级
update person set ptime=‘2014-05-14‘ where pname=‘王翔‘
insert into bumen values(1,‘永辉喷水池店‘,‘喷水池‘)
insert into bumen values(2,‘永辉观山湖店‘,‘观山湖‘)
insert into bumen values(3,‘永辉世纪城店‘,‘世纪城‘)
insert into bumen values(4,‘永辉花果园店‘,‘花果园‘)
insert into bumen values(5,‘永辉火车站店‘,‘火车站‘)
select number 编号,pname 姓名,work 职务,shangji 上级,ptime 入职时间,Wage 工资,buzhu 补助,ID ID from person
delete from person where work=‘员工‘
insert into person (number,pname,work,ptime,Wage,buzhu,ID) values(101,‘张轩松‘,‘董事长‘,‘1998-01-02‘,50000,8000,1)
insert into person values(102,‘李明星‘,‘总经理‘,101,‘2010-05-23‘,20000,5000,1)
insert into person values(103,‘旺小涵‘,‘区域经理‘,102,‘2010-05-23‘,15000,5500,1)
insert into person values(104,‘陈明尔‘,‘区域经理‘,102,‘2010-05-23‘,15000,5500,2)
insert into person values(105,‘王星宇‘,‘部门经理‘,104,‘2010-05-23‘,10000,1000,3)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(106,‘张雨生‘,‘员工‘,104,‘2011-08-15‘,2800,3)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(107,‘王秘书‘,‘员工‘,104,‘2012-01-13‘,2500,3)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(108,‘石阿姨‘,‘员工‘,104,‘2013-12-02‘,2000,3)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(109,‘蒋敏平‘,‘员工‘,104,‘2013-12-02‘,2200,3)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(110,‘李安静‘,‘员工‘,104,‘2013-12-02‘,2000,4)
insert into person(number,pname,work,shangji,ptime,Wage,ID)values(111,‘王翔‘,‘员工‘,104,‘2013-12-02‘,2200,5)
--查询王星宇的编号,姓名,职务,工资
select number,pname,work,Wage from person where pname=‘王星宇‘
--查询一共多少部门 distinct  只显示重复记录的一个
select distinct ID from person
--查询区域经理的姓名和年收入
select pname 姓名,Wage*12 年薪from person where work=‘区域经理‘
--计算年总收入 和空值做四则运算
select pname 姓名,wage*12+isnull(buzhu,0)*12 年薪from  person
--查询-01-01以后入职的员工
select pname,ptime from person where ptime>‘2012-1-1‘and ptime<‘2014-1-1‘
--查询工资在到的
select pname,wage from person where wage>2000 and wage<=10000
--模糊查询
select pname from person where pname like‘王%‘
select pname from person where pname like‘__宇%‘
--批量查询
select pname,number from person where number in(101,105,109)
select pname,work from person where shangji is null
--排序默认升序 desc降序
select number,pname,wage from person order by wage desc
select number,pname,wage from person order by pname
select ID,pname,wage from person order by ID desc,wage desc
select pname‘姓名‘,wage*12+isnull(buzhu,0)*12‘年薪‘ from  person order by ‘年薪‘ desc --别名方法显示排序
--显示总工资和平均工资
select sum(wage)‘总工资‘,avg(wage)‘平均工资‘ from person
select pname,wage from person where wage=(select max(wage) from person)
select pname,wage from person where wage=(select min(wage) from person)
select pname,wage,(select avg(wage)from person) from person where wage>(select avg(wage) from person)
--统计有多少记录
select count(*) from person
--统计每个部门的平均工资和总工资group by后面的字段不需显示字段中
select ID,avg(wage)‘平均工资‘,sum(wage)‘总工资‘ from person group by ID
--显示每个部门的每个职务的平均工资和最低工资
select ID,avg(wage)‘平均工资‘,min(wage)‘最低工资‘,work from person group by ID,work order by ID
--平均工资低于的部门编号和平均工资(having)再次查询
select id,avg(wage) from person group by id having avg(wage)>10000

-------------多表查询--------------------------
select * from bumen,person
select * from bumen,person where bumen.address=‘喷水池‘
select * from bumen,person where bumen.address=‘喷水池‘ and person.ID=bumen.id
select * from bumen,person where person.ID=bumen.id
--显示姓名和所在部门以及部门编号
select pname,cname,person.ID from bumen,person where person.ID=bumen.ID
select pname,cname,person.ID from bumen,person where (person.ID=bumen.ID)and(bumen.id=3)
select pname,cname,person.ID from bumen,person where person.ID=bumen.ID order by bumen.ID
--查询张玉生的上级
select shangji from person where pname=‘张雨生‘
select pname from person where number=(select shangji from person where pname=‘张雨生‘)
--查询所有员工及其上级的姓名
select a.pname,b.pname from person a,person b where a.shangji=b.number
--查询高于部门平均工资的员工和工资,部门编号以及部门的平均工资首先得到每个部门的平均工资
select avg(wage),ID from person group by id
select pname,wage,avgwage,person.ID from person,(select avg(wage) avgwage,ID from person group by id) lsb
where (person.ID=lsb.ID) and (person.wage>lsb.avgwage)
--分页查询
--查询第个到第个入职的职工
select top 5 pname,work,ptime from person order by ptime
----查询第个到第个入职的职工
select top 7 number,pname,work,ptime from person where number not in (select top 3 number from person order by ptime) order by ptime

----------------删除重复的记录----------------------
select * from student
select distinct * from student
select distinct *into lsStudent from student
delete from student
insert into student select * from lsStudent
drop table lsStudent

---------外连接---
select a.pname,b.pname 上级from person a left join person b on a.shangji=b.number---张轩松的上级为空
时间: 2024-10-23 00:09:02

基础数据库脚本12年编写的相关文章

虚拟机脚本的初次编写

#######虚拟机快照##### qemu-img create -f qcwo2 -b vm2.qcwo2 node1.qcow2 @@此处注意"\"后不能有任何符号 1 #!/bin/bash 2 echo poweroff $1 ... 3 virsh destroy $1 &> /dev/null 4 echo del $1.xml ... 5 virsh undefine $1 &> /dev/null 6 echo create disk ..

告别脚本小子【编写端口扫描工具】

前言Windows系统默认开放了很多端口,通常这些端口意味着该主机运行着大家都知道的服务,比如TCP端口21-FTP服务,TCP端口80-HTTP服务,有些服务就有可能存在公开的漏洞,因此可以说主机上每一个开放的端口都可能成为一条入侵的捷径.当然,网上存在很多端口扫描工具,但是我们总不能只知道使用别人的工具,一是这些工具别人编写的时候有没有加入后门,二是如果只会用别人的工具,最终也只能是一个脚本小子,所以我们自己来编写一款实用的端口扫描工具. 一.基础知识 1.1.线程 线程,有时被称为轻量级进

Photoshop脚本 &gt; 使用ExtendScript编写Ps脚本

源自:http://coolketang.com/tutorials/menu1lesson3.php 本节课程将演示如何使用ExtendScript编写脚本,它是由Adobe公司开发的一款脚本语言工具包. 以后的所有课程也将使用这款工具编写脚本. 您可以在开始菜单(Windows电脑)或Application目录(Mac电脑)上找到它.如果没有找到,您也可以单独下载安装ExtendScript. 和上一节一样,使用同样的方式新建一个脚本文件,然后输入脚本代码. var message = "W

较复杂makefile跟lds脚本程序的编写

首先看个makefile范例: 1 /*指明工具链,并为其取个简单的别名*/ 2 CC = arm-linux-gcc 3 LD = arm-linux-ld 4 AR = arm-linux-ar 5 OBJCOPY = arm-linux-objcopy 6 OBJDUMP = arm-linux-objdump 7 /*指明头文件的位置*/ 8 INCLUDEDIR := $(shell pwd)/include 9 /*-Wall 提示警告,-O2表示优化选项,最优优化,-fno-bui

modelsim脚本文件的编写

第一章 ModelSim介 绍 本指南是为 ModelSim5.5f版本编写的,该版本运行于UNIX和Microsoft Windows 95/98/Me/NT/2000的操作系统环境中.本指南覆盖了VHDL和Verilog模拟仿真,但是你在学习过程中会发现对于单纯的HDL设计工作而言,它是一个很有用的参考.ModelSim具备强大的模拟仿真功能,在设计.编译.仿真.测试.调试开发过程中,有一整套工具供你使用,而且操作起来极其灵活,可以通过菜单.快捷键和命令行的方式进行工作.ModelSim的窗

2016.4.6 链接器脚本文件的编写

1.链接器脚本文件的组成: 基本构成:段:代码段.text     数据段.data    bss段 .bss 起始链接地址 对齐 变量 代码段首文件 2.实例文件: SECTIONS{ . = 0x0;  //设置程序起始链接地址,=左右两边要空格 . = ALIGN(4);//,设置代码段四字节对齐,=左右两边要空格 .text ://冒号前要空格 { start.o(.text)//设置代码段首文件,CPU一上电就开始执行. *(.text) } . = ALIGN(4);//设置数据段四

Linux自动修改IP脚本(手动编写)

#!/bin/bashnetmask=255.255.255.0IP_PATH=/etc/sysconfig/network-scripts/ifcfg-eth0GM_PATH=/etc/sysconfig/networkecho -e "Please input IP(FORMAT:192.168.46.88):\c"read ipecho -e "Please input GateWay(FORMAT:192.168.46.1):\c"read gateway#

vsftpd脚本自动化运行编写案例

#!/bin/bash USER1=lin USER1P=123 USER2=fan USER2P=456 #close firewalld and selinux setenforce 0 sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/sysconfig/selinux systemctl stop firewalld systemctl disable firewalld #install software cd /etc/yum.repos.d/

从此编写 Bash 脚本不再难【转】

从此编写 Bash 脚本不再难 原创 Linux技术 2017-05-02 14:30 在这篇文章中,我们会介绍如何通过使用 bash-support vim 插件将 Vim 编辑器安装和配置 为一个编写 Bash 脚本的 IDE. -- Aaron Kili 本文导航 -什么是 bash-support.vim 插件? …… 05% -如何在 Linux 中安装 Bash-support 插件 …… 10% -如何在 Vim 编辑器中使用 Bash-support 插件 …… 17% -如何为