设为首页 收藏本站
查看: 758|回复: 0

[经验分享] 常用增删改查sql示例

[复制链接]

尚未签到

发表于 2018-10-20 10:05:55 | 显示全部楼层 |阅读模式
  一、插入数据
  (1)INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
  (2)INSERT INTO Persons (LastName, Address)
  VALUES ('Wilson', 'Champs-Elysees'),('Wilson2', 'Champs-Elysees2')
  (3)INSERT INTO Persons select * from Persons2
  (4)SELECT LastName,FirstName INTO Persons_backup FROM Persons
  二、删除数据
  (1)DELETE FROM Person WHERE LastName = 'Wilson'
  (2)drop Person
  三、修改数据
  (1)UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
  WHERE LastName = 'Wilson'
  (2)update p set p.Address = 'Zhongshan 23'
  from Person p inner join City c on p.cityId = c.id where c.name = '北京'
  四、查询语句
  1、普通查询:
  (1)SELECT LastName,FirstName FROM Persons WHERE City='Beijing'
  ORDER BY Company DESC, OrderNumber ASC
  (2)SELECT DISTINCT Company FROM Orders
  (3)SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
  AND  LastName='Carter'
  (4)SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')
  (5)SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'
  (6)SELECT TOP 2 * FROM Persons (只sqlserver)
  (7)SELECT * FROM Persons LIMIT 5 (只mysql)
  (8)SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p,
  Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John'(别名)
  (9)SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s)                     FROM table_name2(合并结果集,union all是直接连接,取到得是所有值,
  记录可能有重复;union 是取唯一值,记录没有重复)
  2、like查询
  (1)SELECT * FROM Persons WHERE City LIKE '%' + 'N' + '%'
  (2)SELECT * FROM Persons WHERE City LIKE 'N%'(这种方式可能用到索引)
  (3)SELECT * FROM user where userName like '发_1_2'(_仅替代一个字符)
  (4)SELECT top 10 * FROM user where userId like '[23]%'
  ([charlist]字符列中的任何单一字符,只sqlserver有用)
  (5)SELECT top 10 * FROM user where userId like '[^23]0%'
  ([^charlist]不在字符列中的任何单一字符,只sqlserver有用)
  3、关联查询
  SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons
  INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
  (1)JOIN: 如果表中有至少一个匹配,则返回行
  (2)LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  (3)RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  (4)FULL JOIN: 只要其中一个表中存在匹配,就返回行
  4、分页查询
  (1)SELECT * FROM ceshi limit 0,10(只mysql,从第1个数据开始,取10条数据)
  (2)select top 10 o.* from (select row_number() over(order by userId)as rowNumber,* from             user) as o where rowNumber>0(只sqlserver,从第1个数据开始,取10条数据)
  (3)SELECT * FROM user order by userId  OFFSET 0 ROW FETCH NEXT 10 ROWS ONLY
  (只sqlserver,新版的sqlserver可用,比上一种高效)
  四、java写数据库语句需要特别注意的问题
  1、SqlServer 对语句的条数和参数的数量都有限制,分别是 1000 和 2100;
  2、Mysql 对语句的长度有限制,默认是 4M;
  3、where条件中,=与!=两边都不能有null值,否则判断会出错。需要对有null值的字段作比较时,       sqlserver需要用isnull(null,'default_value')把null值转化为默认值再比较;mysql需要用ifnull(null,'default_value')把null值转化为默认值再比较。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-623943-1-1.html 上篇帖子: sql性能优化总结 下篇帖子: SQL语句基本语法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表