常用SQL语句

最近在上一门课 java语言高级开发, 其实主要在讲java服务器的,也有jsp的相关内容。然后服务器肯定要经常的和数据库打交道,这时就会不可避免的用上SQL语句。目前才刚开始接触数据库,暂且只用了选择、插入、修改、删除这样几条语句。

常用的SQL语句

SQL语句是大小写不敏感的,所以SELECT等同于select或是SElect。

选择语句

SELECT 列名称 FROM 表名称
SELECT * FROM 表名称

这个插入语句可以获得表中的部分需要的数据。通过借助WHERE语句来实现

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

其中操作符有如下几种

操作符描述
=等于(和编程语言不一样的是不需要双等于号)
<>不等于(这里也和常用的编程语言不一样)有的版本的SQL中也可以写为!=
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式

插入语句

使用INSERT INTO语句表示向表格中插入新的行。

INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)

如果你不写 (列1, 列2, ...) 的话,VALUES内的值默认是从第一列开始向后排序。

修改语句

UPDATE 语句用于修改表中的数据。

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

这里也是要借助WHERE来判断修改哪条数据的,如果几条数据的列名称内容都相同的话,会全部被修改。

删除语句

DELETE 语句用于删除表中的行。

DELETE FROM 表名称 WHERE 列名称 = 值

借助WHERE判断删除那一条数据,同上,如果几条数据的列名称内容相同,全部会被删除,使用时需要注意。

“与” 和 “或”语句

使用 ANDOR 表示“与”和“或”的逻辑运算符。
这个运算符通常用在WHERE语句中,用来连接多个条件。
AND运算符自然是,多个条件从头到尾都满足的记录。
OR运算符是多个条件中,至少满足一个的记录

排序语句

ORDER BY 语句用于对结果集进行排序。
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

这个通常用在选择语句,选择时,返回的结果按照要求进行排序。
例:

SELECT Company, OrderNumber FROM Orders ORDER BY Company

可以使用DESC表示逆序排序,用ASC表示顺序排序。
例:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

JAVA中使用SQL语句

java中通常使用JDBC API来访问数据库。
在执行语句时,使用Statement对象

Connection conn = DbUtils.getConnection();      // 获得与自己的数据库的连接
Statement st = null;                            // Statement 用来执行语句
ResultSet rs = null;                            // ReslutSet 查询返回的结果
String sql="select * from BookInfo where bookId="+book.getBookId();
rs = st.executeQuery(sql);                      // 执行SQL语句

while(rs.next()){
// 代码操作
}

上述方式,是通过拼出一条完整的SQL语句来实现的,不是很安全,也可以通过使用预编译方式来使用SQL语句。

Connection conn = DbUtils.getConnection();      // 获得与自己的数据库的连接
PreparedStatement ps = null;                    // PreparedStatement 用来执行语句
ResultSet rs = null;                            // ReslutSet 查询返回的结果
conn=DbUtils.getConnection();
String sql="insert into UserInfo(userName,userSex,birthday ) " + " values( ? , ? , ? )";
ps=conn.prepareStatement(sql);                  // 获得预编译语句
ps.setString(1, "user01");                      // 将第一个 '?' 替换为 "user01"
ps.setString(2, "男");                           // 将第二个 '?' 替换为 "男"
ps.setDate  (3, new java.sql.Date() );          // 将第三个 '?' 替换为 Date数据
int ret=ps.executeUpdate();                     // 执行预编译语句

预编译语句通过使用 ‘?’作为一个占位符,不是去硬拼一条SQL语句,因而更容易理解,也更安全,关于预编译语言的更细节的教程,请移步更全的博客。

谢谢阅读

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值