sql总结及其示例

sql语句分类以及示例使用:

1、DDL:数据定义语言,可以用来创建,修改,删除数据库对象。

(1)创建表、视图、索引、用户、角色

creat table 表名(列名 数据类型 [约束],列名 数据类型 [约束],列名 数据类型 [约束])

create table student(

sno int ,

sname varchar(20),

sage int,

sex varchar(4),

sdept varchar(20))

约束:not null 非空
          primary key 主码约束即唯一且非空
          auto_increment 自增长
          unique 唯一
          foreign key 外键(取值范围必须来自引用表的列)

          check 检查

create table student(

sno int primary key atuo_increment,

sname varchar(20) not null,

sage int ,

sex varchar(4) check(sage in('','')),

sdept varchar(20) references school(sdept))

create view <视图名>[列名,列名] as <子查询>

create view is_stu(sno,sname,sage)
as select sno,sname,sage from student where sdept='Is'

create unique index <索引名> on <表名>[列名,列名]

create unique index stusno on student(sno)

 create user <用户名> identified by <密码>

create user s2015214102u1 identified by nefu1234

create role <角色名>

 create role r2015214102

2、DML:数据操作语言,用来对表中的数据进行增加、删除、修改、查询。

insert:插入记录
 update:修改记录
 select:查询记录
 delete:删除记录
insertinsert into 表名 values(值1,值2。。。)
      insert into 表名(列名,列名)values(值1,值2.。。)
      insert into 表名 查询语句
       insert books(bookname,bookid)select name,userid from store;
selectselect 列名|表达式|* from 表名
     select DISTINCT 列名(剔除重复)as ...
     select bookname ' ',price ' ' from book;
     select * from book where price<50;
     select * from book where price between 2 and 5;
     select * from book where bookname is null;
     select * fron book where bookname like '%新%';
     select degree ,count(*),avg(salary) from student group by degree;
     按degree进行分组,统计个学历的数目,平均年薪
      group by 分组having avg(salary)<1000;
       wherer与having执行的时间不同。
        select * from book order by bookname desc;
         limit 起点,记录数
         order by 排序
update:/
      update 表名 set 列名=值,列名=where studentname=‘胜多负少’;
delete:
      delete from 表名
      where 条件  

3、DCL:数据控制语言,授权和撤销权限。

Grant <权限> [,<权限>]…

On <对象类型> <对象名> [,<对象类型> <对象名>]…

To <用户> [,<用户>]…

授权:

grant select on student to s2015214102u1

grant all PRIVILEGES on student to s2015214102u2

grant update(sno) on  student to s2015214102u4

 grant insert on sc to s2015214102u5

Grant select on sc to public

收权:

revoke update on student from s2015214102u2

revoke select on sc from public

revoke insert on sc from s2015214102u5

给角色授权,并将角色给用户

grant select on student to r2015214102

grant r2015214102 to s2015214102u1
原文地址:https://www.cnblogs.com/llsq/p/7912546.html