- 浏览: 63287 次
- 性别:
- 来自: 北京
-
最新评论
-
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
Spring--Quartz 任务调度的配置详解 -
wujianjun12315:
...
java定时器实例 -
Hillen.chan:
cainiaobos 写道import org.apache. ...
Java HttpClient实例 -
cainiaobos:
import org.apache.commons.httpc ...
Java HttpClient实例 -
wanghonghui023:
写的很好,学习了
java定时器实例
MYSQL使用
一、连接MySQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
例:连接到本机上的MYSQL。
首先在打开 DOS 窗口,然后进入目录 %mysqlpath%\bin>,%mysqlpath%是mysql安装的主目录,再键入命令:mysql -uroot -p,回车后提示你输密码,如果刚安装好 MySQL,超级用户 root 是没有密码的,故直接回车即可进入到MySQL中了,MySQL的提示符是:mysql>.
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.? Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.7-beta-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
例2:连接到远程主机上的 MySQL。
假设远程主机的IP为:192.168.9.168,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 如图:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -h 192.168.9.168 -u root -p
Enter password:
Welcome to the MySQL monitor.? Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.7-beta-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
二、增加新用户。
(注意:下面的因为是 MySQL 环境中的命令,所以命令后面都带一个分号作为结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码";
例1、增加一个用户 test1 密码为 abc123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
grant select, insert, update, delete on *.* to [email=test1@]test1@"%[/email]" Identified by "abc123";
例:
mysql> grant select, insert, update, delete on *.* to
-> test1@"%"Identified by "abc123";
但例增加的用户是十分危险的,如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据为所欲为了,解决办法见下例。
例2、增加一个用户test2密码为abc123,让他只可以在localhost上登录,并只可以对数据库 mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通MYSQL主机上来访问了。 命令如下:
grant select, insert, update,delete on mydb.* to test2@localhost identified by "abc123";
mysql> grant select, insert, update, delete on mydb.* to
-> [email=test2@localhost]test2@localhost[/email]Identified by "abc123";
如果你不想test2有密码,可以再打一个命令将密码消掉。 命令如下:
grant select, insert, update, delete on mydb.* to test2@localhost identified by "";
三、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例1:给root加个密码ab123。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:再将root的密码改为abc345。
mysqladmin -uroot -pab123 password abc345
MySQL语法语句
一、SQL速成
结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。
以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。
1.创建表
表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下:
create table table_name
(column_name dataType {identity |null|not null},
…)
其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数data无效是一个标准的SQL类型或由用户数据库提供的类型。用户要使用non-null从句为各字段输入数据。
create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。
书写上要注意:
在一对圆括号里的列出完整的字段清单。
字段名间用逗号隔开。
字段名间的逗号后要加一个空格。
最后一个字段名后不用逗号。
所有的SQL陈述都以分号";"结束。
例:
mysql> CREATE TABLE test(test_col int(10),test_num );
查询表结构
mysql> show columns from test;
2.创建索引
索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建索引的基本语法如下:
create index index_name
on table_name (col_name[(length)],... )
例:
mysql> CREATE INDEX index_num ON test(test_num);
3.改变表结构
在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是alter,其基本语法如下:
alter table table_name alter_spec [, alter_spec ...]
例:
mysql> alter table test change test_col test_colu int(20) not null;(单独修改某字段)
自增主键
drop table if exists `state`;
create table state
(
sid int not null primary key auto_increment,
sname varchar(20) not null
)engine=innodb;
添加主键
alter table test add primary key(test_id);
删除主键
alter table test drop primary key;
增加
alter table test add column test_age int(2),add column test_sex varchar(2);
(每个新增字段前需 add column)
删除
alter table test drop column test_ager;
重命名
alter table test change test_col test_id int(6);
修改原字段名和类型
alter table test change test_num test_str int(6);
4.删除表
Drop table table_name
例:
mysql> drop table t_test;
5.执行查询
查询是使用最多的SQL命令。查询数据库需要凭借结构、索引和字段类型等因素。大多数数据库含有一个优化器(optimizer),把用户的查询语句转换成可选的形式,以提高查询效率。
值得注意的是MySQL不支持SQL92标准的嵌套的where子句,即它只支持一个where子句。其基本语法如下:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} ’file_name’ export_options]
[FROM table_references
][WHERE where_definition]
[GROUP BY col_name,...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} ][ASC | DESC] ,...]
[LIMIT ][offset,] rows]
[PROCEDURE procedure_name] ]
其中where从句是定义选择标准的地方,where_definition可以有不同的格式,但都遵循下面的形式:
字段名操作表达式
字段名操作字段名
在第一种形式下,标准把字段的值与表达式进行比较;在第二种形式下,把两个字段的值进行比较。根据所比较的数据类型,search_condition中的操作可能选以下几种:
= 检查是否相等
!= 检查是否不等
> (或>=) 检查左边值是否大于(或大于等于)右边值
< (或<=) 检查左边值是否小于(或小于等于)右边值
[not] between 检查左边值是否在某个范围内
[not] in 检查左边是否某个特定集的成员
[not] like 检查左边是否为右边的子串
is [not] null 检查左边是否为空值
在这里,可以用通配符_代表任何一个字符,%代表任何字符串。使用关键字<AND>、<OR>和<NOT>可以生成复杂的词,它们运行检查时使用布尔表达式的多重标准集。
例:
mysql> select t1.name, t2.salary from employee AS t1, info AS t2 where t1.name = t2.name;
mysql> select college, region, seed from tournament
ORDER BY region, seed;
mysql> select col_name from tbl_name WHERE col_name > 0;
6.修改表中数据
在使用数据库过程中,往往要修改其表中的数据,比如往表中添加新数据,删除表中原有数据,或对表中原有数据进行更改。它们的基本语法如下:
数据添加:
insert [into] table_name [(column(s))]
values (expression(s))
例:
mysql> insert into test (test_col,test_num) values (2,'stra');
数据删除:
delete from test where test_col=2;
数据更改:
update test set test_col=15,test_num='star';
7.数据库切换
当存在多个数据库时,可以用下面的命令定义用户想使用的数据库:
use database_name
8.统计函数
SQL有一些统计函数,它们对于生成数据表格很有帮助。下面介绍几个常用的统计函数:
sum (exepression) 计算表达式的和
avg (exepression) 计算表达式的平均值
count (exepression) 对表达式进行简单的计数
count (*) 统计记录数
max (exepression) 求最大值
min (exepression) 求最小值
其中exepression为任何有效的SQL表达式,它可以是一个或多个记录,也可以是别的SQL函数的组合。
例:
select sum(test_col) from test;
9.多行命令输入
MySQL命令行界面允许把陈述作为一行输入,也可以把它展开为多行输入。这两者之间并没有语法上的区别。使用多行输入,你可以将SQL陈述一步步分解,从而使你更容易理解。
在多行方式下,注释器把每一行都添加到前面的行后,直到你用分号";"来结束这个SQL陈述。一旦键入分号并按回车键,这个陈述即被执行。
标准日期格式是"yyyy-mm-dd"。
标准时间格式是"hh:mm:ss"。
引号内要求所给的是上述的标准日期和时间格式。
日期也可以"yyyymmdd"形式,时间也可以"hhmmss"形式输入,但其值不需要再加引号。
数字值不需要加引号。这种保存与数据类型无关,这些数据类型都有格式化的专栏来包含(例如:文本,日期,时间,整数等)。
三 应用查询
1. SELECT语句的子查询:
语法: SELECT ... FROM (subquery) AS name ...
先创建一个表:
CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);
INSERT INTO t1 valueS (1,'1',1.0);
INSERT INTO t1 valueS (2,'2',2.0);
我们就可以进行以下的嵌套查询了:
SELECT sb1,sb2,sb3
FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb
WHERE sb1 > 1;
结果是: 2, '2', 4.0.
我们知道下面语句是不会得到正确结果的,因为对经过Group by排序的集合进行求均值是不能得到正确答案的:
SELECT AVG(SUM(column1)) FROM t1 GROUP BY column1
所以我们可以通过下面的嵌套查询实现同样的效果:
SELECT AVG(sum_column1)
FROM (SELECT SUM(column1) AS sum_column1
FROM t1 GROUP BY column1) AS t1;
2.行的子查询(Row Subquery):
看下面的例子:
SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);
这个查询是返回column1等于column2的结果行。Row函数中的1和2相当于构造参数。想必Blogjava上的同志对这些应该比较清楚,也不去详细介绍了。
3.使用Exist和Not Exist参数
这里的Exist和Not Exist用途及用法和在其他没有什么大的区别,我就简单举几个范例好了:
范例一: SELECT DISTINCT store_type FROM Stores
WHERE EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);
范例二: SELECT DISTINCT store_type FROM Stores
WHERE NOT EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);
范例三: 这个例子中嵌套使用了Not Exist语法,稍微注意一下:
SELECT DISTINCT store_type FROM Stores S1
WHERE NOT EXISTS (
SELECT * FROM Cities WHERE NOT EXISTS (
SELECT * FROM Cities_Stores
WHERE Cities_Stores.city = Cities.city
AND Cities_Stores.store_type = Stores.store_type));
4.条件关联关系查询:
解释起来麻烦,直接看例子吧:
SELECT column1 FROM t1 AS x
WHERE x.column1 = (SELECT column1 FROM t2 AS x
WHERE x.column1 = (SELECT column1 FROM t3
WHERE x.column2 = t3.column1));
跟其他数据库做法是一样的。
5.其他使用方法和注意:
除了上面这些还有很多很多,不过就不去细讲了,因为这些跟别的数据库差不多,只是为了给大家一个参考,提提就够了。
SELECT (SELECT s1 FROM t2) FROM t1;
SELECT (SELECT s2 FROM t1);
支持子查询的语法有:SELECT,INSERT,UPDATE,DELETE,SET和DO。
子查询可以使用任何普通查询中使用的关键词:如DINSTINCT,GROUP BY,LIMIT,ORDER BY,UNION,ALL,UNION ALL等。可以使用<,>, <=, >=, =, <>运算符进行比较,也可以使用ANY ,IN和SOME进行集合的匹配。
一、连接MySQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
例:连接到本机上的MYSQL。
首先在打开 DOS 窗口,然后进入目录 %mysqlpath%\bin>,%mysqlpath%是mysql安装的主目录,再键入命令:mysql -uroot -p,回车后提示你输密码,如果刚安装好 MySQL,超级用户 root 是没有密码的,故直接回车即可进入到MySQL中了,MySQL的提示符是:mysql>.
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.? Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.7-beta-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
例2:连接到远程主机上的 MySQL。
假设远程主机的IP为:192.168.9.168,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 如图:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -h 192.168.9.168 -u root -p
Enter password:
Welcome to the MySQL monitor.? Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.7-beta-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
二、增加新用户。
(注意:下面的因为是 MySQL 环境中的命令,所以命令后面都带一个分号作为结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码";
例1、增加一个用户 test1 密码为 abc123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
grant select, insert, update, delete on *.* to [email=test1@]test1@"%[/email]" Identified by "abc123";
例:
mysql> grant select, insert, update, delete on *.* to
-> test1@"%"Identified by "abc123";
但例增加的用户是十分危险的,如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据为所欲为了,解决办法见下例。
例2、增加一个用户test2密码为abc123,让他只可以在localhost上登录,并只可以对数据库 mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通MYSQL主机上来访问了。 命令如下:
grant select, insert, update,delete on mydb.* to test2@localhost identified by "abc123";
mysql> grant select, insert, update, delete on mydb.* to
-> [email=test2@localhost]test2@localhost[/email]Identified by "abc123";
如果你不想test2有密码,可以再打一个命令将密码消掉。 命令如下:
grant select, insert, update, delete on mydb.* to test2@localhost identified by "";
三、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例1:给root加个密码ab123。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:再将root的密码改为abc345。
mysqladmin -uroot -pab123 password abc345
MySQL语法语句
一、SQL速成
结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。
以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。
1.创建表
表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下:
create table table_name
(column_name dataType {identity |null|not null},
…)
其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数data无效是一个标准的SQL类型或由用户数据库提供的类型。用户要使用non-null从句为各字段输入数据。
create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。
书写上要注意:
在一对圆括号里的列出完整的字段清单。
字段名间用逗号隔开。
字段名间的逗号后要加一个空格。
最后一个字段名后不用逗号。
所有的SQL陈述都以分号";"结束。
例:
mysql> CREATE TABLE test(test_col int(10),test_num );
查询表结构
mysql> show columns from test;
2.创建索引
索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建索引的基本语法如下:
create index index_name
on table_name (col_name[(length)],... )
例:
mysql> CREATE INDEX index_num ON test(test_num);
3.改变表结构
在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是alter,其基本语法如下:
alter table table_name alter_spec [, alter_spec ...]
例:
mysql> alter table test change test_col test_colu int(20) not null;(单独修改某字段)
自增主键
drop table if exists `state`;
create table state
(
sid int not null primary key auto_increment,
sname varchar(20) not null
)engine=innodb;
添加主键
alter table test add primary key(test_id);
删除主键
alter table test drop primary key;
增加
alter table test add column test_age int(2),add column test_sex varchar(2);
(每个新增字段前需 add column)
删除
alter table test drop column test_ager;
重命名
alter table test change test_col test_id int(6);
修改原字段名和类型
alter table test change test_num test_str int(6);
4.删除表
Drop table table_name
例:
mysql> drop table t_test;
5.执行查询
查询是使用最多的SQL命令。查询数据库需要凭借结构、索引和字段类型等因素。大多数数据库含有一个优化器(optimizer),把用户的查询语句转换成可选的形式,以提高查询效率。
值得注意的是MySQL不支持SQL92标准的嵌套的where子句,即它只支持一个where子句。其基本语法如下:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} ’file_name’ export_options]
[FROM table_references
][WHERE where_definition]
[GROUP BY col_name,...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} ][ASC | DESC] ,...]
[LIMIT ][offset,] rows]
[PROCEDURE procedure_name] ]
其中where从句是定义选择标准的地方,where_definition可以有不同的格式,但都遵循下面的形式:
字段名操作表达式
字段名操作字段名
在第一种形式下,标准把字段的值与表达式进行比较;在第二种形式下,把两个字段的值进行比较。根据所比较的数据类型,search_condition中的操作可能选以下几种:
= 检查是否相等
!= 检查是否不等
> (或>=) 检查左边值是否大于(或大于等于)右边值
< (或<=) 检查左边值是否小于(或小于等于)右边值
[not] between 检查左边值是否在某个范围内
[not] in 检查左边是否某个特定集的成员
[not] like 检查左边是否为右边的子串
is [not] null 检查左边是否为空值
在这里,可以用通配符_代表任何一个字符,%代表任何字符串。使用关键字<AND>、<OR>和<NOT>可以生成复杂的词,它们运行检查时使用布尔表达式的多重标准集。
例:
mysql> select t1.name, t2.salary from employee AS t1, info AS t2 where t1.name = t2.name;
mysql> select college, region, seed from tournament
ORDER BY region, seed;
mysql> select col_name from tbl_name WHERE col_name > 0;
6.修改表中数据
在使用数据库过程中,往往要修改其表中的数据,比如往表中添加新数据,删除表中原有数据,或对表中原有数据进行更改。它们的基本语法如下:
数据添加:
insert [into] table_name [(column(s))]
values (expression(s))
例:
mysql> insert into test (test_col,test_num) values (2,'stra');
数据删除:
delete from test where test_col=2;
数据更改:
update test set test_col=15,test_num='star';
7.数据库切换
当存在多个数据库时,可以用下面的命令定义用户想使用的数据库:
use database_name
8.统计函数
SQL有一些统计函数,它们对于生成数据表格很有帮助。下面介绍几个常用的统计函数:
sum (exepression) 计算表达式的和
avg (exepression) 计算表达式的平均值
count (exepression) 对表达式进行简单的计数
count (*) 统计记录数
max (exepression) 求最大值
min (exepression) 求最小值
其中exepression为任何有效的SQL表达式,它可以是一个或多个记录,也可以是别的SQL函数的组合。
例:
select sum(test_col) from test;
9.多行命令输入
MySQL命令行界面允许把陈述作为一行输入,也可以把它展开为多行输入。这两者之间并没有语法上的区别。使用多行输入,你可以将SQL陈述一步步分解,从而使你更容易理解。
在多行方式下,注释器把每一行都添加到前面的行后,直到你用分号";"来结束这个SQL陈述。一旦键入分号并按回车键,这个陈述即被执行。
标准日期格式是"yyyy-mm-dd"。
标准时间格式是"hh:mm:ss"。
引号内要求所给的是上述的标准日期和时间格式。
日期也可以"yyyymmdd"形式,时间也可以"hhmmss"形式输入,但其值不需要再加引号。
数字值不需要加引号。这种保存与数据类型无关,这些数据类型都有格式化的专栏来包含(例如:文本,日期,时间,整数等)。
三 应用查询
1. SELECT语句的子查询:
语法: SELECT ... FROM (subquery) AS name ...
先创建一个表:
CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);
INSERT INTO t1 valueS (1,'1',1.0);
INSERT INTO t1 valueS (2,'2',2.0);
我们就可以进行以下的嵌套查询了:
SELECT sb1,sb2,sb3
FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb
WHERE sb1 > 1;
结果是: 2, '2', 4.0.
我们知道下面语句是不会得到正确结果的,因为对经过Group by排序的集合进行求均值是不能得到正确答案的:
SELECT AVG(SUM(column1)) FROM t1 GROUP BY column1
所以我们可以通过下面的嵌套查询实现同样的效果:
SELECT AVG(sum_column1)
FROM (SELECT SUM(column1) AS sum_column1
FROM t1 GROUP BY column1) AS t1;
2.行的子查询(Row Subquery):
看下面的例子:
SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);
这个查询是返回column1等于column2的结果行。Row函数中的1和2相当于构造参数。想必Blogjava上的同志对这些应该比较清楚,也不去详细介绍了。
3.使用Exist和Not Exist参数
这里的Exist和Not Exist用途及用法和在其他没有什么大的区别,我就简单举几个范例好了:
范例一: SELECT DISTINCT store_type FROM Stores
WHERE EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);
范例二: SELECT DISTINCT store_type FROM Stores
WHERE NOT EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);
范例三: 这个例子中嵌套使用了Not Exist语法,稍微注意一下:
SELECT DISTINCT store_type FROM Stores S1
WHERE NOT EXISTS (
SELECT * FROM Cities WHERE NOT EXISTS (
SELECT * FROM Cities_Stores
WHERE Cities_Stores.city = Cities.city
AND Cities_Stores.store_type = Stores.store_type));
4.条件关联关系查询:
解释起来麻烦,直接看例子吧:
SELECT column1 FROM t1 AS x
WHERE x.column1 = (SELECT column1 FROM t2 AS x
WHERE x.column1 = (SELECT column1 FROM t3
WHERE x.column2 = t3.column1));
跟其他数据库做法是一样的。
5.其他使用方法和注意:
除了上面这些还有很多很多,不过就不去细讲了,因为这些跟别的数据库差不多,只是为了给大家一个参考,提提就够了。
SELECT (SELECT s1 FROM t2) FROM t1;
SELECT (SELECT s2 FROM t1);
支持子查询的语法有:SELECT,INSERT,UPDATE,DELETE,SET和DO。
子查询可以使用任何普通查询中使用的关键词:如DINSTINCT,GROUP BY,LIMIT,ORDER BY,UNION,ALL,UNION ALL等。可以使用<,>, <=, >=, =, <>运算符进行比较,也可以使用ANY ,IN和SOME进行集合的匹配。
发表评论
-
Spring--Quartz 任务调度的配置详解
2012-01-06 16:39 13409Quartz调度器为调度工作提供了更丰富的支持。和Java定时 ... -
Java日期操作集锦
2012-01-06 16:28 1238[size=small][/size]java处理日期时间 相 ... -
Eclipse 插件安装方法和插件加载失败解决办法
2011-06-28 14:55 2350一:是利用Eclipse Software ... -
dom4j方式写入与解析XML
2011-01-13 14:58 4004package com.dheaven.mip.item; ... -
使用DWR注解Annotation
2011-01-13 14:56 1628文章分类:Web前端 Struts 2,Spring,Hib ... -
Hibernate查询Query By Criterial
2011-01-05 16:35 1927提供的检索方式: (1)导航对象图检索方式 (2)OID检索 ... -
Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记
2011-01-04 11:20 11901. 添加Spring 2.0的Libraries ... -
Java HttpClient实例
2010-12-16 15:58 3673package com.dheaven.mip.item; ... -
Java 上传文件
2010-12-15 10:29 12731,JSP页面 Java代码 < ... -
java读取和写入excel
2010-12-15 10:26 1961需jxl.jar包 package com.dheaven ... -
service注入Action
2010-12-14 17:45 19181.老爸操持型 这种类型,即是在BaseAction中提供 ... -
hibernate分页
2010-12-10 14:33 7300这里想说的代码主要是泛型DAO层的应用与分页的写法. 分 ... -
JAVA排序汇总
2010-12-03 14:43 846package com.softeem.jbs.lesson4 ... -
解决UTF-8乱码问题
2010-11-29 09:06 1177为了顺利的开发一个多语言的国际化J2EE程序,需要修改数据库字 ... -
MyEclipse优化收集
2010-11-08 16:33 1136第一步: 取消自动validation validation有 ... -
log4j详细配置
2010-10-30 11:21 892Log4J的配置文件(Configurat ... -
applicationContext.xml 配置说明
2010-10-30 11:18 1051<?xml version="1.0" ... -
struts2.0之struts.xml详解
2010-10-26 11:09 995XML文件代码 <!DOCTYPE st ... -
如何创建一个进程,如何进程调用进程
2010-09-06 17:01 1558java一般用线程就够了, ... -
关于Runtime.exec()的用法
2010-09-06 16:45 2121public Process exec(String comm ...
相关推荐
以下是一份全面的MySQL语法语句概述: 一、数据定义(DDL - Data Definition Language) 1. 创建数据库:`CREATE DATABASE 数据库名;` 2. 删除数据库:`DROP DATABASE 数据库名;` 3. 创建表:`CREATE TABLE 表名 ...
MySQL语法语句大全 MySQL语法语句大全是一份详细的MySQL语法手册,涵盖了创建表、创建索引、改变表结构、删除数据对象、执行查询等MySQL语法语句的大量知识点。本手册旨在帮助开发者快速掌握MySQL语法,提高开发...
在数据库管理领域,Oracle SQL和MySQL SQL是两种广泛使用的SQL方言,它们在语法和功能上存在一定的差异。当需要将一个基于Oracle SQL的应用程序迁移到MySQL环境时,就需要进行SQL语句的转换工作。本项目提供了一个...
SQL是用于管理关系数据库的语言,MySQL语法手册首先会介绍SQL的基础概念,包括数据类型(如整数、浮点数、字符串、日期/时间)、创建和删除数据库以及数据表的语句(CREATE DATABASE, DROP DATABASE, CREATE TABLE, ...
MySQL是世界上最广泛使用的开源关系型数据库管理系统之一,其语法语句是进行数据库操作的基础。本篇文章将详细解析MySQL的一些核心语法,包括创建表、创建索引、改变表结构、删除数据对象以及执行查询。 首先,我们...
oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本
### MySQL 数据库基本的使用语法语句 #### 登录MySQL数据库 登录MySQL数据库可以通过命令行完成,这包括连接远程服务器和本地服务器。 1. **登录远程服务器端数据库** - 命令格式:`mysql -h 服务器名称 –u ...
1. **DDL转换**:该工具能够解析MySQL的CREATE TABLE、ALTER TABLE等DDL语句,并将其转换为PostgreSQL可以理解的语法。这涉及到字段类型、约束、索引等的映射,例如,MySQL的`ENUM`类型在PostgreSQL中可能需要转换为...
本猿最近做数据库迁移,修改了大量sql语句,对oracle和MySQL语法之间的一些不同之处总结了一些。
用户需根据实际需求填充这些信息,确保它们符合MySQL的语法规范。 JAVA作为编程语言,其强大的IO流库使得能够方便地读取Excel文件。Apache POI是一个常用的JAVA库,用于处理Microsoft Office格式的文件,包括Excel...
MySQL+PHP常用语法与操作语句实例MySQL+PHP常用语法与操作语句实例MySQL+PHP常用语法与操作语句实例MySQL+PHP常用语法与操作语句实例MySQL+PHP常用语法与操作语句实例MySQL+PHP常用语法与操作语句实例MySQL+PHP常用...
MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement; /*定义*/ EXECUTE statement_name [USING @var_name [, @var_name] …]; /*执行预处理语句*/ {DEALLOCATE | DROP} PREPARE statement_...
在Java开发中,将Java实体类转换为MySQL数据库的建表语句是一项常见的任务,它有助于快速构建数据库模型,尤其在使用ORM(对象关系映射)框架如Hibernate、MyBatis时更为便捷。本篇文章将深入探讨这个过程,并提供...
本知识点将对给定文件中出现的MySQL语法进行详细解读。 首先,从文件内容中可以看到,创建表(CREATE TABLE)是数据库操作中的一个基础任务。MySQL中创建表的语法可以包括表名、列名以及列的数据类型,并且可以指定...
MySQL语法大全(新)这篇文章涉及了MySQL的基础知识和常用操作,适合于数据库开发人员和系统管理员作为日常工作的参考文档。文章中涉及的内容包括了从命令行连接MySQL数据库,到用户管理、数据库操作以及表的操作等...