SQL 基础1

 1  use myDB;
 2  insert into student values(‘1134110116‘,‘Tom‘,‘男‘,22,‘上海‘,‘18272986984‘,‘上海‘);
 3  insert into student values(‘1134110117‘,‘Tom1‘,‘男‘,23,‘江苏‘,‘18272985173‘,‘南京‘);
 4  insert into student values(‘1134110118‘,‘Tom2‘,‘男‘,22,‘上海‘,‘18272983394‘,‘上海‘);
 5  insert into student values(‘1134110119‘,‘Tom3‘,‘男‘,21,‘上海‘,‘18272986982‘,‘上海‘);
 6  insert into student values(‘1134110120‘,‘张三‘,‘男‘,22,‘江苏‘,‘18272982356‘,‘无锡‘);
 7  insert into student values(‘1134110121‘,‘张玲‘,‘女‘,21,‘江苏‘,‘18272987878‘,‘苏州‘);
 8  insert into student values(‘1134110122‘,‘张小旭‘,‘男‘,23,‘江苏‘,‘18272986981‘,‘盐城‘);
 9  insert into student values(‘1134110123‘,‘李辰‘,‘男‘,21,‘湖北‘,‘18272986985‘,‘武汉‘);
10  insert into student values(‘1134110101‘,‘李斯‘,‘男‘,22,‘湖北‘,‘18272986986‘,‘黄冈‘);
11  insert into student values(‘1134110102‘,‘李小胖‘,‘男‘,22,‘河北‘,‘18272986986‘,‘邯郸‘);
12  insert into student values(‘1134110103‘,‘赵小刚‘,‘男‘,23,‘湖北‘,‘18272986986‘,‘武汉‘);
13  insert into student values(‘1134110104‘,‘李诗涵‘,‘女‘,22,‘河北‘,‘18272986986‘,‘石家庄‘);
14
15  delete from student;

select

select ‘34‘+‘34df‘; --结果:3434df
select 3/2; -- 1

 1 select top 3  * from student order by stucode;
 2
 3  select distinct province from student ;
 4
 5  --group by
 6  select sex ,COUNT(*) ‘人数‘ from student group by sex;
 7  select province ,COUNT(*)as ‘人数‘ from student group by province;
 8
 9  select name from student where name like ‘[张李]_‘; --查找名字为二个字的 姓张 和 姓李 的人
10
11 /* COMPUTE子句使用集合函数在查询的结果集中生成汇总行。COMPUTE BY子句用于增加各列汇总行。
12 [Compute
13 {
14 {Avg | count | max | min | stdev | stdevp| var | varp | sum  (expression)}[,…n]
15 [by expressin [,….]]}]
16 */
17  select * from student order by province compute sum(age);
18  select * from student order by province compute avg(age) by province;
19  

update:

1 --update
2  update student set name=‘helen‘,age=21 where name=‘tom‘;
3  update student set name=‘helen‘,age=21,sex=‘女‘ where name like ‘tom%‘;
4  update student  set  age = age +1;

函数:

 1 /*日期函数*/
 2  SELECT DATEPART(month, GETDATE())  AS  ‘Month Number‘;  -- 12
 3  SELECT DATEPART(YYYY, GETDATE())  AS  ‘year‘;  -- 2014
 4  SELECT DATEPART(MM ,GETDATE())  AS  ‘Month Number‘;  --12
 5  SELECT DATEPART(YEAR ,GETDATE())  AS  ‘year‘;  --2014
 6  select GETDATE()as ‘今年‘, DATEADD (YEAR,3,GETDATE()) as ‘三年后‘; --2014-12-11 08:41:21.493   2017-12-11 08:41:21.493
 7  select GETDATE();     --2014-12-11 08:40:12.800
 8
 9  select DATENAME(Weekday,‘2014-12-11‘) as ‘weekday‘; --星期四
10  select DATENAME(day,GETDATE()) as ‘day‘; --11
11  select DATENAME(YEAR ,GETDATE()) as ‘year‘; --2014
12  SELECT DATENAME(month, getdate()) AS ‘Month Name‘; --12
13  select DATEDIFF(DAY,2014/12/16,2014/12/11);   -- 5
14  SELECT MONTH(‘2014/12/10‘) as 月, DAY(‘2014/12/10‘) as 日,YEAR(‘2014/12/10‘) 年;
15  SELECT MONTH(‘5/29/2003‘) as 月, DAY(‘5/29/2003‘) as 日,YEAR(‘5/29/2003‘) 年;
16
17
18  /*数学函数*/
19  select  ceiling(13.4),  floor(13.4),  round(13.4567,3);  --14  13   13.4570
20  --select age as ‘年龄‘ from student where CAST(age as char(20))  like ‘%1‘;
21  select REVERSE(name) from student where name like ‘Tom%‘;  --mot
22
23  SELECT COL_NAME(OBJECT_ID(‘student‘), 2);  -- name
select name,province from student where province in (select province from student where name=‘张三‘) and name!=‘张三‘; --查找与 张三 籍贯相同的人的姓名 及籍贯;

/*自连接*/
select t1.name,t1.province from student t1 join student t2 on t1.province=t2.province where t2.name=‘张三‘ and  t1.name!=‘张三‘; --查找与 张三 籍贯相同的人的姓名 及籍贯;   或

select t1.name,t1.province from student t1 ,student t2   where t1.province=t2.province and t2.name=‘张三‘ and  t1.name!=‘张三‘; --查找与 张三 籍贯相同的人的姓名 及籍贯;
select * from student;
 1 declare @sum int,@count int
 2 select @sum=0, @count=1
 3 while @count<5
 4 begin
 5   set @sum=@sum+@count;
 6   set @count=@count+1;
 7 end
 8 select @count,@sum;
 9 --print @sum;
10    

存储过程:

/*存储过程*/
Create  procedure selectBySex
as
select * from student where sex=‘男‘
--执行
exec selectBySex

Create  procedure selectBySexWithInput
 @sex char(10)
as
select * from student where sex=@sex;

exec selectBySexWithInput  @sex=‘女‘

create procedure selectCountWithOutput
 @count int output
 as
 declare @boy int ,@girl int
 select @boy=COUNT(*) from student where sex=‘男‘;
 select @girl=COUNT(*) from student where sex=‘女‘;
 select @count=ABS(@boy-@girl);

declare @count int
Exec selectCountWithOutput @count output
print @count;
--select @count as ‘男女生人数之差‘;
时间: 2024-08-09 14:42:06

SQL 基础1的相关文章

(转载)SQL基础--&gt; 约束(CONSTRAINT)

感谢Leshami的分享,原文地址:http://blog.csdn.net/leshami/article/details/5711367 --============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完整性 实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 参照完整性:不能引

SQL 基础之字符串和操作符使用(三)

SQL 基础之字符串使用 : 字符串可以是 SELECT 列表中的一个字符.数字.日期 但日期和字符只能在单引号中出现.每当返回一行时,字符串被输出一次 1.接上文使用过程中如果想把两个列串在一起,并加入一些自定义的显示,如下下图: select first_name || '  is a ' || job_id as "Emp Details" from employees; 2.显示first_name 的人的工资 是多少钱怎么显示: select first_name || '

Oracle实践--PL/SQL基础之同义词和序列

PL/SQL基础入门之同义词和序列             PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 同义词: /*     同义词:现有对象的一个别名:    

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

Oracle实践--PL/SQL基础之代码块

PL/SQL基础入门之代码块 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 优点: 1.       支持SQL,可以使用:DML,DCL,游标控制和SQL运算符 2

Oracle实践--PL/SQL基础之游标

PL/SQL基础入门之游标 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ----------------------------------------------

Oracle实践--PL/SQL基础之视图和索引

PL/SQL基础入门之视图和索引         PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. -----------------------------------

Oracle数据库之SQL基础和分支循环

一.SQL基础语言 DECLARE --声明 a varchar2(10); --变量或对象 BEGIN a:='小明';-- := 表示给一个变量赋值 dbms_output.put_line(a); --输出用 dbms_output.put_line() END; 二.分支 DECLARE --声明 A NUMBER(10); B NUMBER(10); BEGIN A := 2; B := 3; IF A < B THEN DBMS_OUTPUT.PUT_LINE('a小于b'); EL

[SQL] SQL 基础知识梳理(一)- 数据库与 SQL

SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 序 目录 What's 数据库 数据库结构 SQL 概要 创建表 删除和更新表 1-1 What's 数据库 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.如:大型-银行存储的信息,小型-电话簿. 2.数据库管理系统(Batabase Management Syste

sql基础之DDL(Data Definition Languages)

好久没写SQL语句了,复习一下. DDL数据定义语言,DDL定义了不同的数据段.数据库.表.列.索引等数据库对象的定义.常用的DDL语句包括create.drop.alter等等. 登录数据:mysql -uroot -p sql 命令一般以英文分号或者\g结束,注意这个\不是/. 1.查看数据库 show databases;注意这个后面的s. 2.创建数据库create database wangking;注意这里没有s. 3.选择数据库use siyecao;列出数据库中的表show ta