SQL语句之语法汇总(一)

摘要:
前段时间安装了sqlserver及management,编写了一些sql语句,现在对sql中常用的几个语法进行总结、分析与代码实例演示。汇总一只介绍基本语法,较复杂的排序、分组等操作将在之后的文章中陆续总结!2)代码为:查询最高工资、25岁以上工资之和。

前段时间安装了sqlserver及management,编写了一些sql语句,现在对sql中常用的几个语法进行总结、分析与代码实例演示。

汇总一只介绍基本语法,较复杂的排序、分组等操作将在之后的文章中陆续总结!

一.创建表、修改表与删除表

1.1代码

1.创建表:
create table Person5(Id int not null,Name nvarchar(50),Age int null)
2.修改表:
alter table T_Employee add FSubCompany varchar(20);   --表中添加分公司
alter table T_Employee add FDepartment varchar(20);   --表中添加部门
3.删除表:
drop table person4;

1.2分析

1)create实现在代码中直接生成表,表的字段可以再表名(Person5)后面逐一定义,格式为:字段名 类型 为空与否;

2)alter是在表中添加新的字段,定义其名称和类型;

3)drop将整个表删掉。

------------------------------------------------

博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!
店名:
小鱼尼莫手工饰品店
经营:
发饰、头花、发夹、耳环等(手工制作)
网店:
http://shop117066935.taobao.com/

---------------------------------------------------------------------

继续正题...

二.数据的添加、更新与删除

2.1代码

1.添加数据:
--1)一般添加:
insert into Person1(Id,Name,Age)values(3,'小王',20);
--2)id设置主键后,自动生成,id项不必insert操作:
insert into Person3(Name,Age)values('lily',20);   --正确
insert into Person3 values('john',30);           --正确
--3)id设置主键后,自动生成,若使用guid类型,需要程序员干预生成: create table Person5(Id uniqueidentifier not null,Name nvarchar(50),Age int null); insert into Person4(Id,Name,Age)values(newid(),'tom',30); --正确 insert into Person4(Name,Age)values('tom',30);        --错误
2.更新数据
--1)无条件更新:
update Person1 set Age=20;                 --更新一个列/字段
update Person1 set Age=30,Name='xiaoxiao'  --更新多个列/字段
update Person1
set Age=Age+1;
--2)条件更新
update Person1
set NickName=N'青年人' where Age>=20;
update Person1
set NickName=N'二十岁' where Age=20;                --等于 只有一个等号
update Person1
set NickName=N'非二十岁' where Age<>20;              --不等于
update Person1
set NickName=N'非二十岁' where (Age>20 and Age<30)or Age=20; --不等于 and or not
3.删除表中某些内容
--1)删除表中的全部数据
delete fromPerson1;
--2)删除表中符合条件的数据
delete from Person1 where Age>=30;
 2.2分析

1)name等字段可在属性中设置默认值,当不添加时会使用默认值;

guid做主键,数据插入的顺序与实际排列的顺序不同;Id项需要添加进去后,点击sql执行,才能将guid添加进去!

在数据添加第二种情况下,两种写法都正确!即多项insert时后面可省略字段名称,但不建议如此书写!

有些人喜欢讲into去掉,直接用inset Person(...);也不会报错,但加上into更规范一些!

2)执行update时,如果没有where条件,则将表中所有相应字段的所有值都更新;另外,update可以执行计算语句,如:update Person1 set Age=Age+1;

注意在sql语句中逻辑运算符的使用:等于号为=,不等于号为<>,并且为and,或者为or!

当sql中出现中文时,在中文字符串前加上N,如 NickName=N'青年人'。

3)与前文中drop方法不同,drop直接将表删除;而delete实现对表中满足特定条件(where Age>=30)数据的删除操作。

三.select查询

3.1代码

1.简单select
select FName from T_Employee;                   --单字段查询 
select FNumber,FName,FAge,FSalary from T_Employee;        --多字段查询
select * from T_Employee;                       --所有字段查询
2.条件select
select FName,FSalary from T_Employee where FSalary<5000;     --按工资条件查询
select * from T_Employee where FSalary<5000;
3.可以给列加“别名”,运算操作也可以执行:
select FName as 姓名 ,FSalary+10000 as 月薪 from T_Employee  where FSalary<5000;
4.范围
a)多个单值的等价方式
select * from T_Employee where FAge=23 or FAge=26 or FAge=28;  --or条件选择,等价于下方 
select * from T_Employee where FAge in (23,26,28);
b)范围值的等价方式
select * from T_Employee where FAge>=20 and FAge<=25;          --范围,等价于下方
select * from T_Employee where FAge between 20 and 25;      --包含边界点!,不好用,当条件为FAge>20 and FAge<25时即不可用!

3.2分析:

select就是从某表中,获取到满足条件的结果,涉及到单条件及多条件语句,查询结果显示也可利用别名等进行设定。

四.SQL聚合函数

4.1代码:

select MAX(FSalary) fromT_Employee ;
select SUM(FSalary) from T_Employee where FAge>25;

4.2分析:

1)SQL聚合函数:MAX(最大值)、MIN(最小值)、AVG(平均值)、SUM(和)、COUNT(数量)。

3)聚合函数不是实际意义上对表的聚合;而是对查询结果的聚合。

2)代码为:查询最高工资、25岁以上工资之和。

店名:
小鱼尼莫手工饰品店
经营:
发饰、头花、发夹、耳环等(手工制作)
网店:
http://shop117066935.taobao.com/

免责声明:文章转载自《SQL语句之语法汇总(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#中处理鼠标和键盘的事件2020年5月下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL 一对多联表查询最大值

有两个数据表City表和Price表,CIty表的结构如下: Price表的结构如下: 查询每个城市最大的销售价格,并以最大价格进行降序排列,选取前5条记录,SQL语句的代码如下: select top 5 * from (select ROW_NUMBER() over(order by TmpTable.AdultyPrice desc) NID,...

mybatis中@Param用法

用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中  我们先来看Mapper接口中的@Select方法 package Mapper; public interface Mapper { @Select("select s_id id,s_name n...

mssql语句精华指令

常用sql语句 1. 查看数据库的版本 select @@version 2. 查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master..syspr...

MYSQL与TiDB的执行计划

前言 这里采用了tpc-h一个数据库的数据量来进行查询计划的对比。并借助tpc-h中的22条查询语句进行执行计划分析。 mysql采用的是标准安装,TiDB采用的是单机测试版,这里的性能结果不能说明其性能差异 本文章主要目的是对比Mysql与TiDB在执行sql查询时的差异。 mysql版本5.7 TiDB版本v2.0.0-rc.4 准备阶段 数据导入Ti...

ACCESS和MSSQL-如何随机读取数据库记录

查询语句只要这样写,就可以随机取出记录了 SQL="Select top 6 * from Dv_bbs1 where isbest = 1 and layer = 1 order by newID() desc" 在ACCESS里SELECT top 15 id FROM tablename order by rnd(id) SQL Server:Sel...

使用HQL查询

  HQL是Hibernate Query Language的缩写,语法很想SQL,但是HQL是一种面向对象的查询语言。SQL的操作对象是数据列、表等数据库对象,而HQL操作的是类、实例、属性。   HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按如下步骤进行:   1.获取Hibernate Session对象   2....