SQL学习笔记(Beginning SQL)

1、创建表

create table table_name

( 字段名  数据类型,

  ...

);

2、输入信息

2.1、插入新数据

insert into table_name (column_name) values (data_values);

    #注:字符与日期数据必须位于一对单引号之内;

    #日期格式:“年-月-日”  eg:"2004年2月23日" 则输入"2004-02-23"

    #oracle 应为 "日-月-年"

2.2、更新数据

update table_name

set column_name = value

where condition

2.2.1、where子句

    #对于基于文本的数据类型来说,运算符 >、 <、 >=、 <= 所做的比较等于字母表中的顺序

2.2.2、and 和 or

2.3、删除数据

从表中删除所有记录    delete from table

从表中删除某些记录    delete from table where condition

####################提取信息####################

3.1、select

指定列:select column1, column2, ..., columnx from table_name;

所有列:select * from table_name;

3.1.1 仅返回不同的行 ( keyWord: distinct )

select distinct column from table_name;

    #重复的记录出现且只出现一次

select distinct column1, column2 from table_name;

    #若其中一列的所有记录均不重复,则不管另一列是否重复都全部返回

3.1.2 使用别名

select column_name as  other_name from table_name;

3.1.3 使用where子句过滤结果

select column1 + ' ' + column2 [ as column_name ]

from table_name

where condition;

    #注意:MS Access允许插入日期定界符(封闭在一对单引号内)

    #        但在select语句和where子句中,Access要求任意日期文本都被包含在 # 内

3.2 逻辑运算符和运算符优先级

3.2.1 优先级

( ) > not > and > all, any, between, in, like, or ,some

3.2.2 使用逻辑运算符 ( 用实例说明 )

  1 not运算符

    select FirstName from MemberDetails where not state = 'Golden State';

    等价于

    select FirstName from MemberDetails where state <> 'Golden State';

  2 between运算符

    select FilmName, Rating from Films where Rating between 3 and 5;

  3 like运算符 ( 通配符:% 或者 _)

    select LastName from MemberDetails where LastName like 'J%'

    #注:MS Access 中要把 % 换成 *

    select LastName from MemberDetails where LastName like 'D_s';

    #注:oracle 和 db2, 区分大小写,即 D_s 会过滤掉 D_S

    #MS SQL Server, mySQL, MS Access 不区分大小写

    #MS Access中要把 _  改为 ?

    和 not 组合: select LastName from MemberDetails where LastName not like 'J%';

  4 in运算符

    select City from MemberDetails where city = 'Townsvile' or City = 'Windy Village';

    等价于:(使用 in 运算符)

    select City from MemberDetails where City in ('Townsvile', 'Windy Village');

3.3 使用order by排序结果

select YearReleased

from Films

order by YearReleased;

    #按YearReleased升序排序

    #order by 默认为升序,也可加ASC

    #可加 DESC 按其降序排列

select FilmName, Rating

from Films

order by YearReleased;

    #输出列无YearReleased,但结果按其排列

select FilmName, Rating, YearReleased

from Films

order by Rating, YearReleased, FilmName;

    #按Rating升序,若Rating中有两项或以上具有相同的值,则按order by语句的下一列排序

##今天这些##

转载于:https://www.cnblogs.com/way_testlife/archive/2010/05/31/1748655.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值