最近老发牢骚,写了一些跟技术无关的东西,有点跑题了。以后还是注意多写技术性的东西。
不知道有没有同学跟我一样,我一开始学sql语句的时候就觉得这个东西很无趣,不爱学,而且当时不知道从哪了解到数据库管理员都是一些年纪比较大的程序员在做。
那时候觉得会WIN32,会编写算法,会设计模式很牛,都是一些看的见摸得着的东西,做起来很hight。反过来,操作数据库,这些都是别人给你做好了的,底层你都不了解,就用一些语句和工具去搞,肯定很无趣,而且由于没有接触到大型软件和企业级应用,对数据库方面接触的也少也就没怎么注意。直到在后来的工作学习中才逐渐发现数据才是最重要,而要有效的操作和存储数据肯定要用数据库。
标准的sql语句还是很好学的,特别是有了编程基础后,记得以前学语言的时候,都说先学C语言,学好了C就可以学习任何语言了,现在理解来看,不是C语言多强大,多优秀,而是C是最接近底层的语言,可以了解指针,内存操作等很多底层的东西。如果你一开始就学高级语言,随着你不断的深入,你要不停的学习。但是学会C之后,反过来学就不一样了,你看一切高级语法都是一层层封装而已,底层使用什么都可以猜出来。
想到什么就说什么了,下边是自己的一个笔记,sql的增删改查。
代码语言:javascript复制//增删改查
SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
//创建表
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
//查询语句
SELECT 列名 FROM 表名
SELECT * FROM 表名
SELECT LastName,FirstName FROM Persons//列名用逗号隔开
SELECT DISTINCT Company FROM Orders //DISTINCT去除列中重复出现的数据
//where
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值//运算符还包括,BETWEEN在某个范围内LIKE搜索某种模式
//注意数值不要用单引号,文本一定要用单引号。
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'//and和or运算符
SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'//and和or运算符
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'//and和or结合使用,注意括号!
//排序ORDER BY 默认是升序,后边可以加DESC或者ASC修饰,DESC是降序
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
//insert into 语句
INSERT INTO 表名称 VALUES (值1, 值2,....)//第一种直接插入数据
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)//指定列名插如数据
//update
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'//可多列一起更新
//delete
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM Person WHERE LastName = 'Wilson' //删除某行
DELETE FROM table_name //删除所有
DELETE * FROM table_name //删除所有
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185447.html原文链接:https://javaforall.cn