您的位置:首页 > 数据库

数据库常用语法详解

2017-10-28 21:41 375 查看
数据库常用语法详解
一写sql思路

二基本语法
limit rownum 限定行数

order by 分组

show 展现表

innot in 行中包含不包含的字段

concat 展示以逗号连接的列名

as 后面跟表别名有时可省略

- 加减乘除可直接对列做运算

sqrt avgsum平方根平均数总和

upper lower展现大小写字母的列名

Sbuquerise 子查询

like 模糊查询

min 最小值

joining tables 表关联

inner joinleft joinright join 内左右

unionunion all 将表合在一起并去重不去重

三数据的增删改








四表的增删改






Data types

Numeric

1 Date and Time

2 String

3 Primary Key

五AlterDropRename a Table
People

alter table People add DateOfBirth date

alter table People drop column DateOfBirth

drop table People 删除表

alter table People change Firstname name varchar100 更新表名

六View

create views List as select FirstNameSalary from Employees

create or replace view List as select FirstNameLastNameSalary from Employees

drop view List 删除

七日期函数

例1查询出生日期为198809-15的客户

八索引index

九存储过程procedure

十游标cursor

数据库常用语法详解

一、写sql思路:

1.
select
(列名);展现字段。

2.
from
表名;查询字段在哪些表。

3.
where
筛选(行);多表关联、字段约束。

4.
group by
分组;聚合函数。

5.
having
分组后的过滤;对聚合函数结果约束。

6.
order by
/
desc
;升序/降序。

7.
distinct
;去重。 select distinct column_name 1,column_name 2 from table_name ;

二、基本语法

1.
limit
rownum
—限定行数

1.1 查询前n行数据。

select * from student
limit
n
;

1.2 查询表中的n-m行。

select * from student
limit
n
,
m
;

####1.3:查询t_account表中第20-100行的姓名(分页查询)###

select * from(select t.name,rownum rm from t_account t where rownum <= 100)where rm >=20;

2.
order by
—分组

2.1 按照姓名,年龄排序。

select * from student
order by
Name,Age ;

3.
show
—展现表

show
student ;

4.
in
/
not in
—行中包含/不包含的字段

select * from student t where name
in('张三','李四')


5.
concat
—展示以‘逗号’连接的列名

select
concat
(FirstName, ’ , ’ ,City) from customers ;

6.
as
—后面跟表别名,有时可省略

select
concat
(FirstName, ’ , ’ ,City)
as
new_column
from customers ;

7.
+ - * /
—加减乘除(可直接对列做运算)

select ID , FirstName , LastName ,Salary
+
500
as
Salary from Employees ;

8.
sqrt
/
avg
sum
—平方根/平均数/总和

select Salary,
sqrt
(Salary) from employees ;

9.
upper
/
lower
—展现大/小写字母的列名

select FirstName ,
upper
(LastName) as LastName from enployees ;

10.
Sbuquerise
—子查询

select FirstName,Salary from employees where Salary >(select
avg
(Salary) from employees)
order by
Salary
desc
;

11.
like
%
—模糊查询

查询姓名以A开头的人。

select * from employess where FirstName
like
A%
’ ;

12.
min
—最小值

select name,
min
(cost) from items where name
like
%boxes of frogs
and
seller_id
in
(68,6,18) ;

13.
joining tables
—表关联

select customer.ID , customers.Name , orders.Name ,oders.Amount from
customers
,
oders
where customers.ID
=
oders.Coustomer_ID
order by
customers.ID ;

14.
inner join
/
left join
/
right join
—内/左/右

15.
union
union all
—将表合在一起并去重/不去重

select column_name(s) from table1
union
select column_name(s) from table2 ;

三、数据的增删改

增:

insert into
表名(列名1,列名2)
values
(值1,值2)`;

删:

delect
表名
where
筛选条件;也可以直接
delect
表名 ;

改:

update
表名
set
更新后的列名1=更新后的值1,更新后的列名2=更新后的值
4000
2
where
筛选条件;

例:

update
Employees
set
Salary = 5000 , FirstName = ‘Robert’ where ID = 1 ;

四、表的增删改

增:

creat table
Users (

UsersID int,

FirstName varchar(100)


);

删:

drop table
表名;

改:

after table
表名
modify
字段名 字段类型;

1.Data types

Numeric

int
(整数)\
float
(小数)\
double
(小数)

1.1 Date and Time

date
(YYYY-MM-DD)

time
(HH:MM:SS)

datetime
(YYYY-MM-DD HH:MM:SS)

timestamp
(mindnight,January 1,1970)

1.2 String

char


varchar


blob -


text


1.3 Primary Key

creat table
Users(

UserID int,

FirstName varchar(100),

primary key (UserID)


);

五、Alter,Drop,Rename a Table

People

IDFirstNameLastNameCity
1JohnSmithNew York
2DavidWilliamsLos Angeles
3ChloeAndersonChicago
alter table
People
add
DateOfBirth date ;


IDFirstNameLastNameCityDateOfBirth
1JohnSmithNew YorkNULL
2DavidWilliamsLos AngelesNULL
3ChloeAndersonChicagoNULL
alter table
People
drop column
DateOfBirth ;


IDFirstNameLastNameCity
1JohnSmithNew York
2DavidWilliamsLos Angeles
3ChloeAndersonChicago
drop table
People ;(删除表)


alter table
People
change
Firstname
name
varchar(100)
;(更新表名)


IDnameLastNameCity
1JohnSmithNew York
2DavidWilliamsLos Angeles
3ChloeAndersonChicago

六、View

FirstNameLastNameAgeSalary
1EmilyAdams34
2ChloeAnderson27
3DanielHarris30
create views
List
as
select FirstName,Salary from Employees ;


FirstNameSalary
Emily5000
Chloe10000
Daniel6500
create or replace view
List
as
select FirstName,LastName,Salary from Employees ;


FirstNameLastNameSalary
EmilyAdams5000
ChloeAnderson10000
DanielHarris6500
drop view
List ;(删除)


七、日期函数

函数名语法描述
sysdatesysdate当前时间
last_daylast_day(sysdate)本月最后一天
add_monthsadd_months(日期,n)推后n个月
to_charto_char(日期,格式)
to_dateto_date(时间字符串,时间格式)

例1:查询出生日期为“1988—09-15”的客户

1.select * from t_customer where t.birthday = to_date(‘1988-09-15’,yyyy-MM-dd) ;

2.select * from t_customer where to_char(t.birthday,’yyyy-MM-dd’) = ‘1988-09-15’ ;

八、索引(index)

九、存储过程(procedure)

十、游标(cursor)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 sql