SQL小结(三)
2015-07-15 19:36
477 查看
MySQL在数据库添加索引,例:
ALTER TABLE department ADD INDEX dept_name_idx(name);
Oracle和SQL Server添加索引,例:
CREATE INDEX dept_name_idx ON department (name);
MySQL '\G'替换';'结果按列打印。 唯一索引(UNIQUE)作为一种机制限制索引列出现重复值。将上述中‘INDEX'替换为'UNIQUE' 即可。级联约束,如果父表执行某一操作,外键连接的字表对应行也进行该操作。ON UPDATE CASCADE(级联更新)ON DELETE CASCADE(级联删除),放在设置约束时的最后一行。 利用视图填充新表:
CREATE TABLE name AS SELECT * FROM name_vw; 重定义视图:CREATE OR REPLACE VIEW name_vw`````
与java编程语言不同,SQL使用=和<>而非==和!=来进行相等比较。 给数据库授权,查看数据库中所有用户及其权限,JAVA连接MYSQL:
http://www.cnblogs.com/jifeng/archive/2011/03/06/1972183.html
http://blog.chinaunix.net/uid-21505614-id-302263.html
http://database.51cto.com/art/201006/204217.htm
包含META-INF/services/java.sql.Driver文件的JAR文件可以自动注册驱动器类,否则需要手动注册。 在执行SQL命令之前,首先需要创建一个Statement对象。要创建statementd对象,需要使用调用DriverManager.getConnection方法所获得的Connection对象。
Connection conn = DriverMananger.getConnection(url, username, password); Statement stat = conn.createStatement(); stat.executeUpdate(command); ResultSet rs = stat.executeQuery("SELECT ```");
executeUpdate方法用于UPDATE, DELETE之类操作,执行SELECT查询时必须使用executeQuery方法。(另外还有execute语句可以执行任意SQL语句,通常用于用户提供的交互式查询) executeQuery方法返回一个ResultSet对象,分析结果用如下代码:
while(rs.next()){ look at a row of the result set }
迭代器初始化时被设定在第一行之前的位置,必须**调用next方法将它移动到第一行**。因为没有hasNext方法,所以需要不断调用next,直至返回false。
String isbn = rs.getString(1); //返回当前行第一列的值 double price = rs.getDouble("Price"); //返回Price列 //与数据的索引不同,数据库的列序号是从1开始计算的
**应该使用带资源的try语句来关闭连接,并使用一个单独的try/catch处理异常** SQLException为一个由Throwable对象组成的异常链,所以用循环捕获异常
for(Throwable t : sqlException) { do something with t }
预备语句PreparedStatement:
String Query = "SELECT ````" + "FROM ```" + "WHERE Publisher.Name = ?"; PreparedStatement stat = **conn.prepareStatement(Query)**; stat.setString(1,publisher); //第一个"?"用publisher代替 ResultSet rs = stat.executeQuery(); 或者 int r = stat.executeUpdate(); System.out.println(r + "rows updated"); //executeUpdate返回受影响的行数
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器
- SQL Server 2000向SQL Server 2008 R2推送数据图文教程