SQL语言

it2026-05-03  11

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  

转载于:https://www.cnblogs.com/jacko/p/4889050.html

最新回复(0)