修改字段格式的sql语句: alter table tablename alter column colname newDataType 比如:alter table mytable alter column mycol1 int ; 修改字段名 sp_rename 'made.[chegnji]', 'xingming', 'COLUMN'; 其中made是表格名,chegnji是字段名,xingming是新字段名字,COLUMN表示的是列的意思;

1.创建表格;

create table Customer (name,old,address,sex) values(varchar(50),int,char(50),int);

2.增加一列,也就是增加栏位名字、关键字)

alter table Customer  add Sales varchar(50);

3.删除一列;

alter table Customer drop sex;

4.复制表格;

1)只复制表格结构

第一种:select top 0 *into guanqiong from bb;

第二种: select name ,sex into newtable from bb where 1=2;或者select *into newtable from bb where 1=2;

2)复制表格结构和数据;

select name ,sex into newtable from bb where 1=1;

或者select *into newtable from bb where 1=1;

5.查找前几条记录 用top n(表示前几条);

select top 10 *from newtable where Sales > 980;

6.加入想把1个数据结构相同的的表复制另外一个表中;

insert into aaa select * from  Customer;

一节、数据表的查询(select)

select 字段列表 [as 别名], * from 数据表名

[where 条件语句]

[group by 分组字段]

[order by 排序字段列表 desc]

[LIMIT startrow,rownumber]

1、Select 字段列表 From 数据表

例:①、select id,gsmc,add,tel from haf (* 表示数据表中所有字段)

②、select 单价,数量,单价*数量 as 合计金额 from haf (As 设置字段的别名)

2、Select … from … Where 筛选条件式

筛选条件式:①、字符串数据: select * from 成绩单 Where 姓名='李明'

②、万用字符: select * from 成绩单 Where 姓名 like '李%'

select * from 成绩单 Where 姓名 like '%李%'

select * from 成绩单 Where 姓名 like '%李_'

③、特殊的条件式:

⑴= / > / < / <> / >= / <=

⑵AND(逻辑与) OR(逻辑或) NOT(逻辑非)

⑶Where 字段名称 in(值一,值二)

⑷Where 字段名称 Is Null / Where 字段名称 Is Not Null

3、Select … from … group by 字段

SQL函数:

SELECT sex,count(id) as women from `user` group by 'sex';

函数名描述函数名描述

AVG平均值Count计数

MAX最大值MIN最小值

Sum求和

4、Select … from … Order by 字段列表 desc(倒,如果直接写为顺序)

5、Select … from … LIMIT ".$start_rowno.",".($pagesize+1)

第二节 SQL语句实例应用

数据库说明:

student(学生表):

stdid int(11) id号

son char(5) 学号

sname char(20) 姓名

ssex tinyint(1) 性别

sage char(3) 年龄

sdept char(20) 所在系

course(课程表):

couid int(11) id号

cno char(5) 课程号

cname char(20) 课程名

cpno char(6) 选修课号

ccredit char(50) 学分

sc(学生选课表):

scid int(11) id号

cno char(5) 课程号

grade float 成绩

sno char(5) 学号

单表查询:

一、选择表中的若干字段:

查询指定列:

1、查询全体学生的学号与姓名;

select son,sname from student

2、查询全体学生的姓名、学号、所在系;

select sname,son,sdept from student

3、查询全体学生的详细记录;

select * from student

查询经过计算的值:

4、查全体学生的姓名及其出生年份

select sname,year(now())-sage as '出生年份' from student

5、查询全体学生的姓名、出生年份和所有系,要求用大(小)写字母表示所有系名

select sname as '姓名','出生与',year(now())-sage as '出生年份',UPPER(sdept) as '系别' from student

select sname as '姓名','出生与',year(now())-sage as '出生年份',lower(sdept) as '系别' from student

二、选择表中的若干记录:

消除取值重复的行:

6、查询选修了课程的学生学号

select distinct sno from sc

查询满足条件的记录:

比较大小:

7、查询计算机全体学生的名单

select sname from student where sdept='cs'

8、查询所有年龄在20岁以下的学生姓名及其年龄

select sname,sage from student where sage<20

9、查询考试成绩小于90分的学生的学号

select distinct sno from sc where grade<90

确定范围:

10、查询年龄在18-20岁之间的学生的姓名、系别和年龄。

select sname,sdept,sage from student where sage between 18 and 20

11、查询年龄不在19-20岁之间的学生的姓名、系别和年龄。

select sname,sdept,sage from student where sage not between 19 and 20

确定集合:

12、查询信息系(is)、数学系(ma)和计算机科学系(cs)学生的姓名和性别。

select sname,ssex from student where sdept in('is','ma','cs')

13、查询不是信息系(is)、数学系(ma)的学生的姓名、系别和年龄。

select sname,ssex from student where sdept not in('is','ma')

字符匹配(like '<匹配串>' %代表任意长度(长度可以为0)的字符串 ; _代表任意单个字符,汉字得用两个"__"):

14、查询学号为95001的学生的详细情况

select * from student where son like '95001'

15、查询所有姓名李的学生的姓名、学号和性别。

select sname,son,ssex from student where sname like '李%'

16、查询姓名是两个字学生的姓名、学号和性别。

select sname,son,ssex from student where sname like '____'

17、查询所有不姓李的学生姓名。

select sname from student where sname not like '李__'

涉及空值的查询:

18、某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩,查询缺少成绩的学生的学号和相应的课程号。

select sno,cno from sc where grade is null

19、查询所有有成绩的学生学号和课程号。

select sno,cno from sc where grade is not null

多重条件查询(and or):

20、查询计算机系年龄在20岁的学生姓名。

select sname from student where sdept='cs' and sage=20

21、查询信息系(is)、数学系(ma)和计算机科学系(cs)学生的姓名和性别。

select sname,ssex from student where sdept='is' or sdept='ma' or sdept='cs'

三、对查询结果排序:

22、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

select sno,grade from sc where cno='3' order by grade desc

23、查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

select * from student order by sdept,sage desc

四、使用集函数:

24、查询学生总人数。

select count(*) as '总人数' from student

25、查询选修了课程的学生人数。

select count(distinct sno) as '人数' from sc

26、计算1号课程的学生平均成绩

select format(avg(grade),2) as '平均成绩' from sc where cno='1'

27、查询选修1号课程的学生最高分数。

select max(grade) from sc where cno='1'

五、对查询结果分组:

28、求各个课程号及相应的选课人数。

select cno as '课程号',count(sno) as '人数' from sc group by cno

29、查询选修了3门以上课程的学生学号。

select sno from sc group by sno having count(*)>2

注:where 子句与 having 短语的区别在于作用对象不同,where 子句作用于基本表或视图,从中选择满足条件的记录,having短语作用于组,从中选择满足条件的组。

多表查询

同时查询两个以上的表,称为连接查询。

等值连接:当连接运算符为=时,为等值连接。

1、查询每个学生及其选修课程的情况(等值连接)。

select student.*,sc.* from student,sc where student.son=sc.sno

自然连接:在等值连接中把目标列中重复的属性列去掉。

2、查询每个学生及其选修课程的情况(自然连接)。

sql 语句和实例的更多相关文章

  1. tp5 r3 一个简单的SQL语句调试实例

    tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid&quo ...

  2. SqlSugar-执行Sql语句查询实例

    使用SqlSugar执行sql语句 1.简单查询 SqlSugarClient db = SugarContext.GetInstance(); //执行sql语句,处理 //1.执行sql,转成li ...

  3. 一条经典SQL语句优化实例

    1.概述 如下SQL语句发生严重消耗资源的问题,使得OS's load average会在30以上,一条语句需要执行上百秒. /*PIXPatient 184176条DomainPatient 184 ...

  4. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  5. SQL语句学习手册实例版

    SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  6. sql语句like多个条件的写法实例

    这篇文章介绍了sql语句like多个条件的写法实例,有需要的朋友可以参考一下 //   表A  no name 1   lu,li,zhang  2   zhou,wei,liu  3   li,fa ...

  7. Oracle EBS中分类账和法人实体 的关系(有sql语句实例)

    Oracle EBS中分类账和法人实体 的关系(有sql语句实例) 2012-12-06 16:05 2822人阅读 评论(0) 收藏 举报  分类: Oracle EBS(12)  Oracle数据 ...

  8. SQL语句实例集合

    SQL语句实例 表操作     例 1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  9. vertica时间计算SQL语句实例:统计一天内登录的用户

    SQL语句实例: select count(id) as num from public.user where cast((CURRENT_TIMESTAMP-login_timed) day as ...

随机推荐

  1. Java实现 LeetCode 33 搜索旋转排序数组

    33. 搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值, ...

  2. java实现第五届蓝桥杯出栈次序

    出栈次序 X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图[p1.png]所示. ...

  3. 解决关闭app权限弹框后无法识别页面对象问题

    在使用appium进行安卓端app的自动化测试,我碰到这样下面这几个问题: 1.每次启动我的待测app时总会提示app权限 2.关闭完权限后,无法识别页面对象 第一个问题的解决,我更换不同的真机进行测 ...

  4. java作品集:企业信息门户webtap

    作品背景 随着企业应用的软件越来越多,并且信息软件基本以B/S为主了,很多时候各种软件的地址,让大家记的头昏脑胀,并且一堆密码要记,而且大部分系统之间无法互通,虽然市面上有各种集成方案,但无法做到简单 ...

  5. Java基础?看完以后再也不惧怕面试了

    前言 这篇文章主要是Java基础部分,主要分为3个部分:Java集合.Java多线.JVM:这些东西帮助我面试成功率提升了很多.后面还有中间件Spring.Redis.RocketMQ等等吧,祝愿大家 ...

  6. C和C++中static的比较

    using namespace std; class A{ private: static int a;//由static修饰的变量仅仅是一个声明,不能在此处进行初始化,需要在类的外部初始化. voi ...

  7. HashMap(三)之源码分析

    通过分析HashMap来学习源码,那么通过此过程我们要带着这几个问题去一起探索 为什么要学习源码 怎么去学习 0.1 为什么要学习源码 这个问题,直接给出结论,学习源码肯定是有好处的,比如: 学习优秀 ...

  8. 关于一个服务和api监控的界面,涉及ajax-jsonp,promise应用

    <!DOCTYPE html> <html class="mobile hairline" data-dpr=""> <head& ...

  9. SpringBoot任务

    异步任务: 在方法上添加@Async注解 表明这个方法是一个异步的方法 package com.king.service; import org.springframework.scheduling. ...

  10. C++中类成员的访问控制

    结论 首先给出结论,请看下图,看图说话最容易理解了. 类眼中的自己 类中定义的所有成员,不论是以public, protected还是private修饰,对类自身而言,它们都是可见的. 对象眼中的类 ...