SQL笔记

注:在不同的数据库系统中可能有些小差别
-----------------------------------------------------------------------------  
SQL语言中的注释
    # 单行注释
    -- 注释内容,可嵌入到代码中注释
    /*  注释内容,多行注释  */
SQL语句不区分大小写
 
-----------------------------------------------------------------------------  
基本SQL语言
    数据定义语言(DDL)
        create --(创建)
        alter --(修改)
        drop --(删除)
    数据操作语言(DML)
        insert --(插入)
        update --(更新)
        delete --(删除)
    数据查询语言
        select
    数据控制语句
        revoke --(撤消)
        deny --(拒绝)
        grant --(同意,授权)
 
-----------------------------------------------------------------------------  
SQL中包括
    database    --数据库
    table        --表
    constraint    --约束
    view        --视图
    index        --索引
    procedure    --存储过程
    trigger    --触发器
 
-----------------------------------------------------------------------------  
create database database-name        --创建数据库
drop database dbname                 --删除数据库
 
创建新表
create table tabname
    (col1 type1 [not null] [primary key],col2 type2 [not null],..)  
根据已有的表创建新表:  
    a:create table tab_new like tab_old (使用旧表创建新表)  
    b:create table tab_new as select col1,col2… from tab_old definition only  
删除新表drop table tabname
 
修改表结构
    alter table tabname add column col type
    alter table tabname drop 列名,列号,约束名等
 
SQL的约束
    not null        --非空
    unique            --惟一
    primary key    --主键
    foreign key    --外键
    check            --check约束
    例 添加主键: alter table tabname add primary key(col)  
    例 删除主键: alter table tabname drop primary key(col)  
 
创建索引:create [unique] index idxname on tabname(col….)  
删除索引:drop index idxname  
 
创建视图:create view viewname as select statement  
删除视图:drop view viewname  
 
create procedure--创建一个存储过程  
drop procedure --删除存储过程  
 
create trigger --创建一个触发器  
drop trigger --从删除触发器  
 
-----------------------------------------------------------------------------  
几个简单的基本的sql语句  
    选择:select * from table1 where 范围  
    插入:insert into table1(field1,field2) values(value1,value2)  
    删除:delete from table1 where 范围  
    清空:truncate table_name        -- 删除表中所有行,仍保持表的完整性  
    更新:update table1 set field1=value1 where 范围  
    查找:select * from table1 where field1 like '%value1%'
    排序:select * from table1 order by field1,field2 [desc]  
    总数:select count as totalcount from table1  
    求和:select sum(field1) as sumvalue from table1  
    平均:select avg(field1) as avgvalue from table1  
    最大:select max(field1) as maxvalue from table1  
    最小:select min(field1) as minvalue from table1  
 
-----------------------------------------------------------------------------  
--数据权限控制  
    grant    --授予用户访问权限  
    deny     --拒绝用户访问  
    revoke   --解除用户访问权限  
 
-----------------------------------------------------------------------------  
--事务控制  
    commit    --结束当前事务  
    rollback --中止当前事务  
    set transaction --定义当前事务数据访问特征  
 
-----------------------------------------------------------------------------  
--数据库函数,过程,触发器脚本的sql  
    declare --为查询设定游标  
    explan --为查询描述数据访问计划  
    open --检索查询结果打开一个游标  
    fetch --检索一行查询结果  
    close --关闭游标  
    prepare --为动态执行准备sql 语句  
    execute --动态地执行sql 语句  
    describe --描述准备好的查询  
 
-----------------------------------------------------------------------------  
标准sql统计函数  
    avg ( [distinct|[all]] expr )         --求平均值  
    count ( [distinct|[all]] expr )    --统计数目  
    max ( [distinct|[all]] expr )        --求最大值  
    min ( [distinct|[all]] expr )        --求最小值  
    sum ( [distinct|[all]] expr )        --求和  
    例如:
    select avg(e_wage) as dept_avgwage from employee group by dept_id  
    select e_name from employee where e_wage =(select max(e_wage) from employee)  
 
-----------------------------------------------------------------------------  
标准sql字符串函数  
    ascii() --函数返回字符表达式最左端字符的ascii 码值  
    char() --函数用于将ascii 码转换为字符--对越界的值返回null  
    lower() --函数把字符串全部转换为小写  
    upper() --函数把字符串全部转换为大写  
    str() --函数把数值型数据转换为字符型数据  
    ltrim() --函数把字符串头部的空格去掉  
    rtrim() --函数把字符串尾部的空格去掉  
    left(),right(),substring() --函数返回部分字符串  
    charindex(),patindex() --函数返回字符串中某个指定的子串出现的开始位置  
    replicate() --函数返回一个重复character_expression 指定次数的字符串  
    reverse() --函数将指定的字符串的字符排列顺序颠倒  
    replace() --函数返回被替换了指定子串的字符串  
    space() --函数返回一个有指定长度的空白字符串  
    stuff() --函数用另一子串替换字符串指定位置长度的子串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值