MySQL学习笔记 - 查询语句
2012-08-29 00:00
639 查看
常用SQL语句
一、数据定义语言DDL
*CREATE DATABASE database_name*CREATE TABLE table_name (
column_name datatype [constraint_condition]
[, column_name datatype [constraint_condition]]...
}
*CREATE TABLE table_name AS
SELECT column_name1, column_name2, ...
FROM table_name1, table_name2, ...
[ WHERE conditions GROUP BY column_name1, column_name2, ...
HAVING conditions ORDER BY column_name1, column_name2, ...
]
*CREATE [ UNIQUE ] | [ CLUSTER ] INDEX index_name
ON table_name ( column_name [ ASC | DESC ] )
*CREATE VIEW view_name ( [ column_name1 [, column_name2]...] ) AS
SELECT column_name1, column_name2, ...
FROM table_name1, table_name2, ...
[ WHERE conditions GROUP BY column_name1, column_name2, ...
HAVING conditions
ORDER BY column_name1, column_name2, ...
]
*ALTER TABLE table_name
[ ADD ( column_name datatype [constraint_condition] ) ]
[ MODIFY column_name datatype ]
[ DROP constraint_type ]
*DROP TABLE table_name [ CASCAPE CONSTRAINTS ]
*DROP DATABASE database_name
*DROP INDEX index_name
*DROP VIEW view_name
二、数据查询语句DQL
*SELECT 语句*SELECT column_name1, column_name2, ...
FROM table_name1, table_name2, ...
[ WHERE conditions GROUP BY column_name1, column_name2, ...
HAVING conditions ORDER BY column_name1, column_name2, ...
]
三、数据操作语句DML
*INSERT INTO table_name [ (column_name1, column_name2, ...) ]VALUES (value1[, value2]... )
*INSERT INTO table_name [ (column_name1, column_name2, ...) ]
SELECT column_name1, column_name2, ...
FROM table_name1, table_name2, ...
[ WHERE conditions ]
*UPDATE table_name
SET column_name1 = value1[, column_name2 = value2 ... ]
[ WHERE conditions ]
*DELETE FROM table_name
[ WHERE conditions ]
四、数据控制语句DCL
*GRANT authority[, authority] ON TABLE table_name1[, table_name2] ...TO user1[, user2] ...
[ WITH GRANT OPTION ]
*REVOKE authorty[, authorty] ON TABLE table_name1[, table_name2] ...
FROM user1[, user2] ...
五、事务控制语句
*COMMIT [ routine_name ]*ROLLBACK [ TO savepoint ]
*CREATE [OR REPLACE] PROCEDURE procedure_name
[ ( argument1 [ IN | OUT | IN OUT ] datatype1 [, argument2 [ IN | OUT | IN OUT ] datatype2 ] ... ) ]
{ IS | AS }
[ local declarations ]
BEGIN
executable statements
[ EXCEPTION
exception handlers ]
END [ procedure_name ];
*CREATE [OR REPLACE] FUNCTION function_name
[ ( argument1 [ IN | OUT | IN OUT ] datatype1 [, argument2 [ IN | OUT | IN OUT ] datatype2 ] ... ) ]
RETURN return_datatype
{ IS | AS }
[ local declarations ]
BEGIN
executable statements
[ EXCEPTION
exception handlers ]
END [ function_name ];
*CREATE [OR REPLACE] PACKAGE package_name
{ IS | AS }
[ variable_declaration ... ]
[ cursor_declaration ... ]
[ exception_declaration ... ]
[ object_declaration ... ]
[ function_declaration ... ]
[ procedure_declaration ... ]
END [package_name];
*CREATE [OR REPLACE] PACKAGE BODY package_name
{ IS | AS }
----
----
END package_name;
* CREATE [OR REPLACE] TRIGGER trigger_name
{ BEFORE | AFTER |INSTEAD OF } trigger_event
ON { table_name | view_name | database | schema }
FOR EACH ROW
[ WHEN ( logical_expression ) ]
[ DECLARE
_declaration_statements; ]
BEGIN
execution_statements;
END [trigger_name];
Java与MySQL
JDBC(Java Database Connection)是Java的数据库连接接口,JDBC方式连接MySQL使用的类和接口包括DriverManager类、Driver接口、Connection接口、Statement接口、DatabaseMetaData接口和ResultSet接口等。
(1)使用Class类加载当前数据库的驱动程序
Class.forName(driver);
其中,driver表示数据库的驱动程序,MySQL5.0数据库驱动程序为 com.mysql.jdbc.Driver
(2)通过DriverManager类中的getConnection方法建立数据库的连接
conn = DriverManager.getConnection(url,userName,password);
其中,url表示数据库的URL,MySQL数据库的URL为 jdbc:mysql://[HOST]:[PORT]/ database_name 。HOST表示本机,PORT表示端口号,database_name表示数据库名,userName、password表示数据库使用的用户名和密码。
(3)使用Connection接口中的createStatement()方法创建Statement对象
stmt = conn.createStatement();
其中,stmt表示一个Statement对象,通过该对象可以执行相应的SQL语句并将其发送给数据库。
(4)执行SQL语句并将查询结果以ResultSet结果集的形式返回
ResultSet rs = stmt.executeQuery(sqlSelect); //执行SQL查询语句
Int count = stmt.executeUpdate(sqlUpdate); //执行SQL更新语句
其中,sqlSelect是一个用于执行查询的SQL语句,executeQuery()方法是用于执行查询SQL语句的方法,该方法返回一个结果集。sqlUpdate()方法是用于执行更新SQL语句的方法,该方法返回一个整数,表示数据表中更新的数据个数。
(5)使用while循环获取ResultSet结果集中的所有记录
while (rs.next()) {
String str1 = rs.getString(1);
String str2 = rs.getString(2);
//...
}
其中,rs.next()表示将指针的位置向下移动一行,并返回一个布尔值,第一次调用时,指针指向结果集中第一行记录的位置。getString(1)表示取得ResultSet结果集中第一个字段对应的值。当指针指向的下一行记录不存在时,rs.next()返回false,while循环结束。
(6)关闭数据库的连接
在执行完数据库的操作之后,需要将与数据库连接有关的对象关闭,主要包括Statement对象、Connection对象等。
stmt.close();
conn.close();
相关文章推荐
- 关于mysql的sql语句的汇总(学习笔记)02 (三个字段查询)
- mysql查询语句(mysql学习笔记七)
- MySQL学习笔记(10)之select查询语句
- Mysql学习笔记五之查询的五种语句
- MySQL中的基本查询语句学习笔记
- MySQL中的基本查询语句学习笔记
- 5.笔记 MySQL学习——mysql基本显示查询
- mysql常用查询语句笔记
- MySQL学习---->第二练:语句初步(SQL概述、数据定义、查询)
- MySQL学习笔记7:基本查询
- 【学习笔记】mysql查询执行的基础
- 从一个MySQL的例子来学习查询语句
- mysql学习笔记(三)--- 基本的SQL语句
- Mysql学习笔记九——内连接、左连接、右连接查询
- 【MySQL学习笔记(十)】:关于条件判断if语句
- MYSQL学习笔记——常用语句
- Mysql DBA 高级运维学习笔记-mysql建表语句及表知识
- Mysql DBA 高级运维学习笔记-DML语句之insert知识讲解
- MySQL学习笔记(三)——多表查询
- MySQL学习笔记——条件查询