【SQL学习】基本用法

SQL基础用法:(可在https://www.nowcoder.com/ta/sql?query=&asc=true&order=&page=1练习SQL的简单编写)
1. SQL的DML(数据操作语言):select,insert into,delete,update
2. SQL的DDL(数据定义语言):create database,alter database,create table,alter table,drop table,create index,drop index
3. select 列名,列名 from 表名;select * from 表名
4. select distinct 列名 from 表名
distinct用于返回唯一不同的值,去掉结果集中的重复值,也可在count(distinct 列名)
5. where自居用于规定选择的标准。
select 列名 from 表名 where 列名 运算符 值;
1) 运算符包括(=,<>,>,>,<=,>=,like,between,%)
2) 值为文本时,用‘’;数值时不需要
6. AND 和 OR用于两个或两个以上的条件对记录进行过滤。同时使用时,用括号将条件括起来
select 列名 from (表达式1 or 表达式2) and 表达式3
7. ORDER BY对结果集进行排序。默认为升序,降序为DESC,升序ASC
select 列名 from 表名 order by 列名
8. INSERT INTO向表中插入新的行:insert into 表名 values(值1,值2…) 
指定索要插入数据的列:insert into 表名(列1,列2…) values(值1,值2…)
9. UPDATE用于修改表中的数据
update 表名 set 列名= 新值,列名1=新值  where 列名=值;
10. DELETE语句用于删除表中的某一行
delete from 表名 where 列名 = 值;
删除所有行(但表还存在):
delete * from 表名 或delete from 表名


11. SELECT TOP用于规定要返回的记录的数目。
SQL Server/MS Access:SELECT TOP number|PERCENT column_name(s) FROM table_name
MYSQL:SELECT column_name(s) FROM table_name LIMIT number;
Oracle:  SELECT column_name(s) FROM tabel_name WHERE ROWNUMBER <= number;

12. LIKE用于在WHERE子句中搜索列中的指定模式。
SELECT column_name(s) FROM table_name WHERE column_name (NOT) LIKE pattern
通配符,必须与LIKE一起使用。
%:替代一个或多个字符。匹配pattern中缺少的字符:a%(以a开始),%g(以g结束),%lon%(包含lon)
-:只能代替一个字符
[Charlist]:字符列中的任何单一字符。如:SELECT * FROM PERSON WHERE City LIKE '[ANL]%';查询城市名称以A,N,L开头的所有记录
[^Charlist ]或[!Charlist]:不在字符列中的任何单一字符。如:SELECT * FROM PERSON WHERE City LIKE '%[^A]';查询城市名称不以A结尾的所有记录
13. IN操作符我们可以在WHERE语句中可以规定多个值。
SELECT column_name(s) FROM table_name WHERE column_name IN (Value1,Value2,…)
14. BETWEEN..AND.. 选取介于两个值之间的数据范围。值可以为文本,数值,日期。数据库对该操作符包含的值不同。
SELECT * FROM table_name WHERE column_name (NOT)BETWEEN value1 AND value2
15. AS为列名称和表名称指定别名。
SELECT column_name(s) FROM table_name AS alias_name;
SELECT column_name(s) AS alias_columnname FROM table_name;
16. JION==INNER JION用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
17. LEFT JOIN关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name
18. RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name
19. FULL JOIN关键字只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
20. on和where的区别:http://www.cnblogs.com/guanshan/articles/guan062.html
21. LIMIT m,n表示从m+1条数据开始取n条数据;LIMIT n表示从第0条开始取n条数据
22. UNION操作符用于合并两个或多个SELECT语句的结果集。SQL DML (数据操作语言): select insert into delete update
  • SQLDDL(数据定义语言):create databasealter databasecreate tablealter tabledrop tablecreate indexdrop index
  • select 列名,列名 from 表名;select * from 表名
  • select distinct 列名 from 表名
    distinct 用于返回唯一不同的值,去掉结果集中的重复值,也可在 count distinct 列名)
    • where子句用于规定选择的标准
      select 列名 from 表名 where 列名 运算符 值;
      1 运算符包括( = <>,>,>,<=,>=,like,between,%
      2 值为文本时,用‘’;数值时不需要
      • AND OR用于两个或两个以上的条件对记录进行过滤。同时使用时,用括号将条件括起来
        select 列名 from (表达式 1 or 表达式 2 and 表达式 3
        • ORDER BY对结果集进行排序。默认为升序,降序为DESC,升序ASC
          select 列名 from 表名 order by 列名
          • INSERT INTO向表中插入新的行:insert into 表名 values(值1,值2…
            指定索要插入数据的列: insert into 表名(列 1 ,列 2… values (值 1 ,值 2…
            • UPDATE用于修改表中的数据
              update 表名 set 列名 = 新值,列名 1= 新值   where 列名 = 值;
              • DELETE语句用于删除表中的某一行
                delete from 表名 where 列名 = 值;
                删除所有行(但表还存在):
                delete * from 表名 delete from 表名
                 
                • SELECT TOP用于规定要返回的记录的数目。
                  SQL Server/MS Access SELECT TOP number|PERCENT column_name(s) FROM table_name
                  MYSQL:SELECT column_name(s) FROM table_name LIMIT number;
                  Oracle:  SELECT column_name(s) FROM tabel_name WHERE ROWNUMBER <= number;
                   
                  • LIKE用于在WHERE子句中搜索列中的指定模式。
                    SELECT column_name(s) FROM table_name WHERE column_name (NOT) LIKE pattern
                    通配符,必须与 LIKE 一起使用。
                    %: 替代一个或多个字符。匹配 pattern 中缺少的字符: a%( a 开始 ),%g (以 g 结束) ,%lon% (包含 lon
                    - :只能代替一个字符
                    [Charlist]: 字符列中的任何单一字符。如: SELECT * FROM PERSON WHERE City LIKE '[ANL]%'; 查询城市名称以 A N L 开头的所有记录
                    [^Charlist ] [!Charlist] :不在字符列中的任何单一字符。如: SELECT * FROM PERSON WHERE City LIKE '%[^A]'; 查询城市名称不以 A 结尾的所有记录
                    • IN操作符我们可以在WHERE语句中可以规定多个值。
                      SELECT column_name(s) FROM table_name WHERE column_name IN (Value1,Value2,…)
                      • BETWEEN..AND.. 选取介于两个值之间的数据范围。值可以为文本,数值,日期。数据库对该操作符包含的值不同。
                        SELECT * FROM table_name WHERE column_name NOT BETWEEN value1 AND value2
                        • AS为列名称和表名称指定别名。
                          SELECT column_name(s) FROM table_name AS alias_name;
                          SELECT column_name(s) AS alias_columnname FROM table_name;
                          • JION==INNER JION用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
                            在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
                            SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
                            FROM Persons
                            INNER JOIN Orders
                            ON Persons.Id_P = Orders.Id_P
                            ORDER BY Persons.LastName
                            • LEFT JOIN关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
                              SELECT column_name(s)
                              FROM table_name1
                              LEFT JOIN table_name2 
                              ON table_name1.column_name=table_name2.column_name
                              • RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
                                SELECT column_name(s)
                                FROM table_name1
                                RIGHT JOIN table_name2 
                                ON table_name1.column_name=table_name2.column_name
                                • FULL JOIN关键字只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
                                  在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
                                  • onwhere的区别:http://www.cnblogs.com/guanshan/articles/guan062.html
                                  • LIMIT m,n表示从m+1条数据开始取n条数据;LIMIT n表示从第0条开始取n条数据
                                  • UNION操作符用于合并两个或多个SELECT语句的结果集。
                                    • 0
                                      点赞
                                    • 0
                                      收藏
                                      觉得还不错? 一键收藏
                                    • 0
                                      评论

                                    “相关推荐”对你有帮助么?

                                    • 非常没帮助
                                    • 没帮助
                                    • 一般
                                    • 有帮助
                                    • 非常有帮助
                                    提交
                                    评论
                                    添加红包

                                    请填写红包祝福语或标题

                                    红包个数最小为10个

                                    红包金额最低5元

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

                                    抵扣说明:

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

                                    余额充值