码迷,mamicode.com
首页 > 数据库 > 详细

SQL语言

时间:2015-10-18 11:26:04      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

SQL (structured Query Language) 结构化查询语言;

 
      主要用途是构造各种数据库系统操作指令,如 SELECT、INSERT、UPDATE、DELETE;
 
  SQL命令可以分类以下三大类别:
   
      DDL  数据定义语言(定义数据库结构)  Data Definition Language
        建库、建表,操作(修改、删除、清空)数据库、数据表
        创建一个数据库
        删除一个数据库
        修改数据库结构
        创建一个表格
        删除一个表格
        重命名一个表格
 
      DML  数据库维护语言(维护数据库内容) Data Manipulation Language
        对数据库的数据进行增、删、查、改(主要的语句--web设计一般使用这一种)
        从数据库里面获取数据
        向一个表格里面插入数据
        更新一个表格中已有的数据
        删除一个表格中的数据
         
      DCL  数据控制语言(控制数据库操作权限)  Data Control Language
        修改数据库的权限,分配用户
        赋予一个用户对数据库或者数据表格等指定权限
        删除一个用户对数据库或者数据表格等的指定权限
 
 
sql语句 一般来说数据库语句我们会用大写,表名,字段名我们会用上引号
    查询:
      select * from 表;          * 表示查询全部字段
      select 字段1,字段2 from 表;      要查哪个字段就直接写字段
      select * from 表 where 条件      根据where后面的条件查询内容
      select * from 表 where id=5 and p_id=3 查询的条件是id=5并且p_id=3的数据
      select * from 表 where id=5 or id=8    查询的条件是id=5或者是id=8的数据
      select * from products where price between 1000 and 2000  查询的条件是加个在1000到2000之间的数据
      select * from products where price >= 1000 and price <= 2000  查询的条件是加个在1000到2000之间的数据
      select * from 表 where id in (1,3,6) 查询的条件是id=1,或者id=3,或者id=6的数据
      select * from 表 where id not in (1,3,6) 查询的条件是id不等于1,3,6的数据
      select * from 表 limit 5     只查5条
      select * from 表 limit 3,5     从第4条开始,查5条
      select * from 表 order by uid ASC  排序(升序:asc,降序:desc)
      select * from 表 group by author 根据author分组(把相同的author数据分到一组)
      select * from 表 where name like ‘%你是%‘    模糊查询name这个字段里面数据有 ‘你是’
      select count(*) from 表        算出总数
      select avg(score) from 表      算出score这个字段的平均数
      select max(score) from 表      算出score这个字段最大值
      select min(score) from 表      算出score这个字段最小值
      select count(*) as a from 表   给算出的总数命名为a
 
 
  增加:
 
    增加一条记录:
      insert into 表 (字段1,字段2,字段3) values (值1,值2,值3,);
      例子:insert into user (username,password) values (‘admin‘,‘123456‘)
 
    增加多条记录:
      insert into 表 (字段1,字段2,字段3) values (值1,值2,值3,),(值1,值2,值3,);
      例子:insert into user (username, password) values (‘user1‘, ‘123456‘),(‘user2‘,‘123456‘),
 
  更新:
 
    update 表 set 字段1 = ‘值1‘, 字段2 =‘值2‘  where 条件
    例子:update user set username = ‘admin1‘, passwd =‘12345678‘  where uid = 10
    注:如果不加where条件,那么更新的是整张表的全部数据,一般情况上都是要加的
 
  删除:
 
    delete from 表 where 条件
    例子:delete from user where uid = 10
    注:如果不加where条件,那么删除的是整张表的全部数据,一般情况上都是要加的
 
 
连表查询
    左连接:
      以左边的表为基准,先把左边的表查出来,再查右边的表,若右边的表没对应的数据显示的就为NULL
      SELECT empe_name, dept_name FROM empe LEFT JOIN dept ON empe.dept_id = dept.id
       
      给表取别名 用as
      SELECT * FROM book as a LEFT JOIN publish as b ON a.publish_id = b.publish_id
 
    右连接
      以右边的表为基准,先把右边的表查出来,再查左边的表,若左边的表没对应的数据显示的就为NULL
      SELECT empe_name, dept_name FROM empe RIGHT JOIN dept ON empe.dept_id = dept.id
 
    内链接
      SELECT empe_name, dept_name FROM empe INNER JOIN dept ON empe.dept_id = dept.id
      SELECT empe_name, dept_name FROM empe, dept WHERE empe.dept_id = dept.id
 
  连接三张表
    SELECT * FROM `book` left join author_book_rel on book.id=author_book_rel.book_id left join author on author_book_rel.author_id=author.author_id
 
技术分享
技术分享

SQL语言

标签:

原文地址:http://www.cnblogs.com/jacko/p/4889050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!