美文网首页
数据库常用语法总结

数据库常用语法总结

作者: 无关风月oo | 来源:发表于2017-12-12 19:49 被阅读0次

    数据库常用语法详解#

    一、写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. limitrownum ---限定行数

    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 /avgsum---平方根/平均数/总和

    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. unionunion 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=更新后的值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

    ID FirstName LastName City
    1 John Smith New York
    2 David Williams Los Angeles
    3 Chloe Anderson Chicago
    alter table People add DateOfBirth date ;
    ID FirstName LastName City DateOfBirth
    1 John Smith New York NULL
    2 David Williams Los Angeles NULL
    3 Chloe Anderson Chicago NULL
    alter table People drop column DateOfBirth ;
    ID FirstName LastName City
    1 John Smith New York
    2 David Williams Los Angeles
    3 Chloe Anderson Chicago
    drop table People ;(删除表)
    alter table People change Firstname name varchar(100) ;(更新表名)
    ID name LastName City
    1 John Smith New York
    2 David Williams Los Angeles
    3 Chloe Anderson Chicago

    六、View

    FirstName LastName Age Salary
    1 Emily Adams 34
    2 Chloe Anderson 27
    3 Daniel Harris 30
    create views List as select FirstName,Salary from Employees ;
    FirstName Salary
    Emily 5000
    Chloe 10000
    Daniel 6500
    create or replace view List as select FirstName,LastName,Salary from Employees ;

    FirstName|LastName|Salary
    ---|---|---|---
    Emily|Adams|5000
    Chloe|Anderson|10000
    Daniel|Harris|6500

    drop view List ;(删除)

    七、日期函数##

    函数名 语法 描述
    sysdate sysdate 当前时间
    last_day last_day(sysdate) 本月最后一天
    add_months add_months(日期,n) 推后n个月
    to_char to_char(日期,格式)
    to_date to_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)

    相关文章

      网友评论

          本文标题:数据库常用语法总结

          本文链接:https://www.haomeiwen.com/subject/rhanixtx.html