某方数据库
1. SQL语句来判断数据库某一列下是否有相同值的记录方法
SQL语句来判断数据库某一列下是否有相同值的记录方法
有的时候我们可能需要判断数据库中,某一字段(某一列)下是否有相同值的记录,这时该怎么办呢?根据您所使用的数据库不同,首先你要打开数据库的查询窗口,通过SQL语句来创建查询,然后运行就可以了,具体方法如下:
这里假设数据库中有一个名为student的表,所要查询的字段是name,则判断student表中name字段下是否有相同值的记录的SQL语句为:
1、查询出数据库中总的name字段记录数的值
SELECT COUNT(name)
FROM student
2、查询出数据库中name字段下唯一的记录总数(即查询出不相同的记录数,如果找到相同的记录则取其中一条记录)
SELECT COUNT(name)
FROM student
GROUP BY name
比较上面两次查询的结果,如果一样,则表明student数据库中的name字段下并没有相同值的记录,如果不一样,则表明student数据库中的name字段下有相同值的记录。
2. 数据库是怎么回事
什么是数据库?
数据库是以某种文件结构存储的一系列信息表,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种标准选择行。数据库通常有多个 索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。
以员工记录为例,您可以设想一个含有员工姓名、地址、工资、扣税以及津贴等内容的表。让我们考虑一下这些内容可能如何组织在一起。您可以设想一个表包含员工姓名、地址和电话号码。您希望保存的其它信息可能包括工资、工资范围、上次加薪时间、下次加薪时间、员工业绩评定等内容。
这些内容是否应保存在一个表格中?几乎可以肯定不应该如此。不同类别的员工的工资范围可能没有区别;这样,您可以仅将员工类型储存在员工记录表中,而将工资范围储存在另一个表中,通过类型编号与这个表关联。考虑以下情况:
Key Lastname SalaryType SalaryType Min Max
1 Adams 2 1 30000 45000
2 Johnson 1 2 45000 60000
3 Smyth 3 3 60000 75000
4 Tully 1
5 Wolff 2
SalaryType 列中的数据引用第二个表。我们可以想象出许多种这样的表,如用于存储居住城市和每个城市的税值、健康计划扣除金额等的表。每个表都有一个主键列(如上面两个表中最左边的列)和若干数据列。在数据库中建立表格既是一门艺术,也是一门科学。这些表的结构由它们的范式指出。我们通常说表属于1NF、2NF 或 3NF。
第一范式:表中的每个表元应该只有一个值(永远不可能是一个数组)。(1NF)
第二范式:满足 1NF,并且每一个非主键列完全依赖于主键列。这表示主键和该行中的剩余表元之间是 1 对 1 的关系。(2NF)
第三范式:满足 2NF,并且所有非主键列是互相独立的。任何一个数据列中包含的值都不能从其他列的数据计算得到。(3NF)
现在,几乎所有的数据库都是基于“第三范式 (3NF)”创建的。这意味着通常都有相当多的表,每个表中的信息列都相对较少。
从数据库中获取数据
假设我们希望生成一个包含员工及其工资范围的表,在我们设计的一个练习中将使用这个表。这个表格不是直接存在在数据库中,但可以通过向数据库发出一个查询来构建它。我们希望得到如下所示的一个表:
Name Min Max
Tully $30,000.00 $45,000.00
Johnson $30,000.00 $45,000.00
Wolff $45,000.00 $60,000.00
Adams $45,000.00 $60,000.00
Smyth $60,000.00 $75,000.00
我们发现,获得这些表的查询形式如下所示
SELECT DISTINCTROW Employees.Name, SalaryRanges.Min,
SalaryRanges.Max FROM Employees INNER JOIN SalaryRanges ON Employees.SalaryKey = SalaryRanges.SalaryKey
ORDER BY SalaryRanges.Min;
这种语言称为结构化查询语言,即 SQL,而且它是几乎目前所有数据库都可以使用的一种语言。SQL-92 标准被认为是一种基础标准,而且已更新多次。
数据库的种类
PC 上的数据库,如 dBase、Borland Paradox、Microsoft Access 和 FoxBase。
数据库服务器:IBM DB/2、Microsoft SQL Server、 Oracle、Sybase、SQLBase 和 XDB。
所有这些数据库产品都支持多种相对类似的 SQL 方言,因此,所有数据库最初看起来好象可以互换。每种数据库都有不同的性能特征,而且每一种都有不同的用户界面和编程接口。
ODBC
如果我们能够以某种方式编写不依赖于特定厂商的数据库的代码,并且能够不改变自己的调用程序即可从这些数据库中得到相同的结果,那将是一件很好的事。如果我们可以仅为所有这些数据库编写一些封装,使它们具有相似的编程接口,这种对数据库编程独立于供应商的特性将很容易实现。
什么是 JDBC?
JDBC 是对 ODBC API 进行的一种面向对象的封装和重新设计,它易于学习和使用,并且它真正能够使您编写不依赖厂商的代码,用以查询和操纵数据库。尽管它与所有 Java API 一样,都是面向对象的,但它并不是很高级别的对象集.
除 Microsoft 之外,多数厂商都采用了 JDBC,并为其数据库提供了 JDBC 驱动程序;这使您可轻松地真正编写几乎完全不依赖数据库的代码。另外,JavaSoft 和 Intersolv 已开发了一种称为 JDBC-ODBC Bridge 的产品,可使您连接还没有直接的 JDBC 驱动程序的数据库。支持 JDBC 的所有数据库必须至少可以支持 SQL-92 标准。这在很大程度上实现了跨数据库和平台的可移植性。
安装和使用 JDBC
JDBC 的类都被归到 java.sql 包中,在安装 Java JDK 1.4时会自动安装。然而,如果您想使用 JDBC-ODBC 桥。JDBC-ODBC 驱动程序可从 Sun 的 Java 网站 (http://java.sun.com/) 轻松地找到并下载。在您扩充并安装了这个驱动程序后,必须执行下列步骤:
将 \jdbc-odbc\classes; 路径添加到您的 PATH 环境变量中。
将 \jdbc-odbc\classes; 路径添加到您的 CLASSPATH 环境变量中。
JDBC 驱动程序的类型
Java 程序连接数据库的方法实际上有四种:
1. JDBC-ODBC 桥和 ODBC 驱动程序 -- 在这种方式下,这是一个本地解决方案,因为 ODBC 驱动程序和桥代码必须出现在用户的每台机器中。从根本上说这是一个临时解决方案。
2. 本机代码和 Java 驱动程序 -- 它用另一个本地解决方案(该平台上的 Java 可调用的本机代码)取代 ODBC 和 JDBC-ODBC 桥。
3. JDBC 网络的纯 Java 驱动程序 -- 由 Java 驱动程序翻译的 JDBC 形成传送给服务器的独立协议。然后,服务器可连接任何数量的数据库。这种方法使您可能从客户机 Applet 中调用服务器,并将结果返回到您的 Applet。在这种情况下,中间件软件提供商可提供服务器。
4. 本机协议 Java 驱动程序 -- Java 驱动程序直接转换为该数据库的协议并进行调用。这种方法也可以通过网络使用,而且可以在 Web 浏览器的 Applet 中显示结果。在这种情况下,每个数据库厂商将提供驱动程序。
如果您希望编写代码来处理 PC 客户机数据库,如 dBase、Foxbase 或 Access,则您可能会使用第一种方法,并且拥有用户机器上的所有代码。更大的客户机-服务器数据库产品(如 IBM 的 DB2)已提供了第 3 级别的驱动程序。
两层模型和三层模型
当数据库和查询它的应用程序在同一台机器上,而且没有服务器代码的干预时,我们将生成的程序称为两层模型。一层是应用程序,而另一层是数据库。在 JDBC-ODBC 桥系统中通常是这种情况。
当一个应用程序或 applet 调用服务器,服务器再去调用数据库时,我们称其为三层模型。当您调用称为“服务器”的程序时通常是这种情况。
编写 JDBC 代码访问数据库
用 ODBC 注册您的数据库
连接数据库
所有与数据库有关的对象和方法都在 java.sql 包中,因此在使用 JDBC 的程序中必须加入 "import java.sql.* "。 JDBC 要连接 ODBC 数据库,您必须首先加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
该语句加载驱动程序,并创建该类的一个实例。然后,要连接一个特定的数据库,您必须创建 Connect 类的一个实例,并使用 URL 语法连接数据库。
String url = "jdbc:odbc:Northwind";
Connection con = DriverManager.getConnection(url);
请注意,您使用的数据库名是您在 ODBC 设置面板中输入的“数据源”名称。
URL 语法可能因数据库类型的不同而变化极大。
jdbc:subprotocol:subname
第一组字符代表连接协议,并且始终是 jdbc。还可能有一个子协议,在此处,子协议被指定为 odbc。它规定了一类数据库的连通性机制。如果您要连接其它机器上的数据库服务器,可能也要指定该机器和一个子目录:
jdbc:bark//doggie/elliott
最后,您可能要指定用户名和口令,作为连接字符串的一部分:
jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof
访问MSSQL Server方法:(驱动程序需要:msutil.jar,msbase.jar,mssqlServer.jar)
DBDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo
username=sa
password=
maxcon=10
mincon=1
poolName=SkyDev
利用我们开发的数据库类,使用方法如下:
DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
//类代码(不含连接工厂实现)
package skydev.moles.data;
public final class SqlServerConnectionFactory
extends ConnectionFactory {
private final String dbDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String host;
private int port;
private String databaseName;
public SqlServerConnectionFactory() {
super.setDriverName(dbDriver);
}
/**
*
* @param host 数据库所在的主机名:如"localhost"
* @param port SQL服务器运行的端口号,如果使用缺省值 1433,传入一个负数即可
* @param databaseName 数据库名称
* @param userName 用户名
* @param password 口令
*/
public SqlServerConnectionFactory(String host,
int port,
String databaseName,
String userName,
String password) {
this.setHost(host);
this.setPort(port);
this.setDatabaseName(databaseName);
this.setUserName(userName);
this.setPassword(password);
init();
}
private void init() {
super.setDriverName(dbDriver);
super.setUrl("jdbc:microsoft:sqlserver://" + host.trim() + ":" +
new Integer(port).toString() + ";DatabaseName=" +
databaseName.trim());
//super.setUrl("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo");
}
……
//------------------------------------------------------------------------------------
访问MySQL的方法:
DBDriver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/demo
username=
password=
maxcon=5
mincon=1
poolName=zhengmao
访问数据库
一旦连接到数据库,就可以请求表名以及表列的名称和内容等信息,而且您可以运行 SQL 语句来查询数据库或者添加或修改其内容。可用来从数据库中获取信息的对象有:
DatabaseMetaData 有关整个数据库的信息:表名、表的索引、数据库产品的名称和版本、数据库支持的操作。
ResultSet 关于某个表的信息或一个查询的结果。您必须逐行访问数据行,但是您可以任何顺序访问列。
ResultSetMetaData 有关 ResultSet 中列的名称和类型的信息。
尽管每个对象都有大量的方法让您获得数据库元素的极为详细的信息,但在每个对象中都有几种主要的方法使您可获得数据的最重要信息。然而,如果您希望看到比此处更多的信息,建议您学习文档以获得其余方法的说明。
ResultSet
ResultSet 对象是 JDBC 中最重要的单个对象。从本质上讲,它是对一个一般宽度和未知长度的表的一种抽象。几乎所有的方法和查询都将数据作为 ResultSet 返回。ResultSet 包含任意数量的命名列,您可以按名称访问这些列。它还包含一个或多个行,您可以按顺序自上而下逐一访问。在您使用 ResultSet 之前,必须查询它包含多少个列。此信息存储在 ResultSetMetaData 对象中。
//从元数据中获得列数
ResultSetMetaData rsmd;
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();
当您获得一个 ResultSet 时,它正好指向第一行之前的位置。您可以使用 next() 方法得到其他每一行,当没有更多行时,该方法会返回 false。由于从数据库中获取数据可能会导致错误,您必须始终将结果集处理语句包括在一个 try 块中。
您可以多种形式获取 ResultSet 中的数据,这取决于每个列中存储的数据类型。另外,您可以按列序号或列名获取列的内容。请注意,列序号从 1 开始,而不是从 0 开始。ResultSet 对象的一些最常用方法如下所示。
getInt(int); 将序号为 int 的列的内容作为整数返回。
getInt(String); 将名称为 String 的列的内容作为整数返回。
getFloat(int); 将序号为 int 的列的内容作为一个 float 型数返回。
getFloat(String); 将名称为 String 的列的内容作为 float 型数返回。
getDate(int); 将序号为 int 的列的内容作为日期返回。
getDate(String); 将名称为 String 的列的内容作为日期返回。
next(); 将行指针移到下一行。如果没有剩余行,则返回 false。
Close(); 关闭结果集。
getMetaData(); 返回 ResultSetMetaData 对象。
ResultSetMetaData
您使用 getMetaData() 方法从 ResultSet 中获取 ResultSetMetaData 对象。您可以使用此对象获得列的数目和类型以及每一列的名称。
getColumnCount(); 返回 ResultSet 中的列数。
getColumnName(int); 返回列序号为 int 的列名。
getColumnLabel(int); 返回此列暗含的标签。
isCurrency(int); 如果此列包含带有货币单位的一个数字,则返回 true。
isReadOnly(int); 如果此列为只读,则返回 true。
isAutoIncrement(int); 如果此列自动递增,则返回 true。这类列通常为键,而且始终是只读的。
getColumnType(int); 返回此列的 SQL 数据类型。这些数据类型包括
BIGINT
BINARY
BIT
CHAR
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONGVARBINARY
LONGVARCHAR
NULL
NUMERIC
OTHER
REAL
SMALLINT
TIME
TIMESTAMP
TINYINT
VARBINARY
VARCHAR
DatabaseMetaData
DatabaseMetaData 对象可为您提供整个数据库的信息。您主要用它获取数据库中表的名称,以及表中列的名称。由于不同的数据库支持不同的 SQL 变体,因此,也有多种方法查询数据库支持哪些 SQL 方法。
getCatalogs() 返回该数据库中的信息目录列表。使用 JDBC-ODBC Bridge 驱动程序,您可以获得用 ODBC 注册的数据库列表。这很少用于 JDBC-ODBC 数据库。
getTables(catalog, schema,tableNames, columnNames) 返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表的说明。
getColumns(catalog, schema,tableNames, columnNames) 返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表列说明。
getURL(); 获得您所连接的 URL 名称。
getDriverName(); 获得您所连接的数据库驱动程序的名称。
获取有关表的信息
您可以使用 DataBaseMetaData 的 getTables() 方法来获取数据库中表的信息。这个方法有如下4个 String 参数:
results =dma.getTables(catalog, schema, tablemask, types[]);
其中参数的意义是:
Catalog 要在其中查找表名的目录名。对于 JDBC-ODBC 数据库以及许多其他数据库而言,可将其设置为 null。这些数据库的目录项实际上是它在文件系统中的绝对路径名称。
Schema 要包括的数据库“方案”。许多数据库不支持方案,而对另一些数据库而言,它代表数据库所有者的用户名。一般将它设置为 null。
Tablemask 一个掩码,用来描述您要检索的表的名称。如果您希望检索所有表名,则将其设为通配符 %。请注意,SQL 中的通配符是 % 符号,而不是一般 PC 用户的 * 符号。
types[] 这是描述您要检索的表的类型的 String 数组。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值。如果它是空值,则您会得到所有这些表。如果您将其设为包含字符串“TABLES”的单元素数组,您将仅获得对用户有用的表格。
一个简单的 JDBC 程序
我们已经学习了 JDBC 的所有基本功能,现在我们可以编写一个简单的程序,该程序打开数据库,打印它的表名以及某一表列的内容,然后对该数据库执行查询。此程序如下所示:
package skydevkit;
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
public JdbcOdbc_test() throws SQLException {
String url = "jdbc:odbc:Northwind";
try {
//加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);//连接数据库
dma = con.getMetaData();//获取数据库的元数据
System.out.println("Connected to:" + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
} catch (Exception e) {
System.out.println(e);
}
try {
Statement stmt = con.createStatement();
results = stmt.executeQuery("select * from 客户;");
ResultSetMetaData resultMetaData = results.getMetaData();
int cols = resultMetaData.getColumnCount();
String resultRow = "";
for (int i = 1; i < cols; i++) {
resultRow += resultMetaData.getColumnName(i) + ";";
}
System.out.println(resultRow);
while (results.next()) {
resultRow = "";
for (int i = 1; i < cols; i++) {
try {
resultRow += results.getString(i) + ";";
} catch (NullPointerException e) {
System.out.println(e.getMessage());
}
}
System.out.println(resultRow);
}
} catch (Exception e) {
System.out.println("query exception");
} finally {
results.close();
}
}
}
补充高级内容
关于调用SQLServer存储过程的例子:(用到了我们开发的数据库连接类)
CREATE PROCEDURE [dbo].[sp_getStudentByName](@name char(10))
AS
Select * from Students where [Name]=@name
GO
DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
CallableStatement pstmt = null;
System.out.println("TestDB1()............");
/* try {
pstmt = con.prepareCall("{call sp_getStudentById(?)}");
pstmt.setInt(1, 1);
}*/
try {
pstmt = con.prepareCall("{call sp_getStudentByName(?)}"); //注意参数如何传递
pstmt.setString(1, "Tom");
}
……
使用输出参数:
CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY
GO
try {
pstmt = con.prepareCall("{call sp_insertStudent(?,?,?)}");
pstmt.setString(1, "zengqingsong");
pstmt.setInt(2, 22);
pstmt.registerOutParameter(3, Types.INTEGER);
pstmt.executeUpdate();
int id = pstmt.getInt(3);
System.out.println(id);
}
使用返回参数的例子:
CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY –测试输出参数
return 30 –测试返回30
GO
try {
pstmt = con.prepareCall("{?=call sp_insertStudent(?,?,?)}");
pstmt.setString(2, "zengqingsong");
pstmt.setInt(3, 22);
pstmt.registerOutParameter(4, Types.INTEGER);
pstmt.registerOutParameter(1, Types.INTEGER);
int ret = pstmt.executeUpdate(); //执行影响的行数
int ret2 = pstmt.getInt(1); //返回参数(输出参数)
int id = pstmt.getInt(4); //输出参数
System.out.println(ret);
System.out.println(ret2);
System.out.println(id);
3. 关于万方数据库的一个问题
几种不同减肥方法及其效果评价
【论文题名】 几种不同减肥方法及其效果评价
【英文题名】 Evaluation of several ways for weight loss
【作 者】 彭莉
【作者单位】 西南师范大学体育学院,重庆 400715;Institnte of Physical Ecation,West- South China Normal University, Chongqing 400715,China;
【刊 名】 体育学刊
【英文刊名】 JOURNAL OF PHYSICAL EDUCATION
【年 卷 期】 2001 Vol.8 No.02
【关 键 词】 减肥;效果;行为矫正
【摘 要】 有氧运动、饮食节制、药物疗法、行为矫正法是目前常用的几种减肥方法,其减肥作用各有优劣。文章综述了以上几种不同减肥方法的内容与效果,认为行为矫正疗法才是长期有效的综合性减肥方法。
【英文摘要】 The main way of weight loss is diet control, exercise, drug administration and behavior modification. And each way has its different content and effect. This paper summarized different content and effect of these several ways of weight loss.
与就是..两个关键词加在一起..或就是或者 是 就是是.非就是不是的意思..
你搜索可以在作者名字里写上..然后与.全文.减肥..这样就可以了几种不同减肥方法及其效果评价
彭 莉
(西南师范大学体育学院.重庆400715)
摘要:有氧运动、饮食节制、药物疗法、行为矫正法是目前常用的几种减肥方法,其减肥作用各有优劣。
文章蛛迷了以上几种不同减肥方法的内容与效果,认为行为娇正疗法才是长期有效的晾合性减肥方法。
关健词:减肥;效果;行为娇正
中圈分类号:R161.1;G806 文献标识码:A 文章编号:1006一7116(2001)02- 004一02
Ev alu ati on o f se ver al w a ys fo r w e吵 t lm
PE N G li
(Ils tit nte d P h 州 司 Ecation,W .‘一SO(汕ChinaN arnalU niversity,fl gngqing4 00715,Ch ine)
Ahehaet扩血, ,.,了weight俪ie翻conuol,~ ,drug adminishs&m耐behavior modification. And each
way has its diferent content and efect, Tim paper summarized面erem corneal and afect d these several ways of weigh
loee.
Keyw orth:we 4#ntlo sa;efect;beba} modification
肥胖 是 相 对于痰体重而言,脂肪在体内过多的堆积的现
象。[0专家们认为,肥胖是一种常见的、明显、复杂的代谢失
调症;是一种可以影响整个机体正常功能的生理过程。[21近
年来,随着我国物质生活水平的提高,肥胖者有不断增加的
趋势。肥胖者常伴有心血管疾病、胆盆病、社会心理间题及
某些痛症(如子宫内膜庙、乳腺店)等,已成为危害人类健康
的重要问题[3]因此,如何避免肥胖以及如何减体脂就成为
人们关注的社会问题选择一种适合的减肥方法不仅仅意昧
着体形的健美,也意味着生活质量的提高。本文综述了目前
常用的几种减肥方法,并对其效果进行了分析评价。
1 运动减肥
肥胖 发 生 的根本原因在于热最的摄人和消耗之间不平
衡,过剩的能量以脂肪的形式储存起来。[41研究表明,肥胖者
的身体活动比正常体重者少,即体重指数(B犯)与身体活动
之间呈逆向的关系。而且,从社会总体趋势看来,肥胖流行
的增加是与身体活动减少和久坐行为增加的变化相一致的。
运动可以通过增加能量消耗而减少体内脂肪的积蓄。[5]
1.1运动减足的作用
(1) 运动 可 以改善脂肪代谢紊乱。1161加快脂肪代谢,限
制脂肪积累。运动还可抑制过度进食引起的脂肪细胞数量
升高,并减少脂细胞体积的增加。(2)运动会提高安静时代
谢率(RMR)o RMR所消耗的能量占总能量消耗量的60%-
70%. (3)运动会改变肥胖者与能量代谢调节有关的激素水
平,如能提高对胰岛素的敏感性等少.ho,hs,aol
1.2 减体,的运动方式
运动 的 总 能耗Ilt取决于运动的特点(方式、强度、持续时
间、频度)和参与者的个休特点(休形和健康水平)。对于减
肥来说,运动的量比运动的强度更有意义。应采用大肌肉群
参加的、有节奏的运动方式如跑步、走、游泳、转车等,从较低
运动强度开始(50% V02mmc,60%最大心率),随个体对运动
的适应逐渐增加强度,每次运动持续时间30一60 min,每周
至少运动3次。i51
13 运动城肥的评价
运动 减 肥 的效果是肯定的,而且在休重降低的同时保持
痰休重不变,甚至皮体重增加,使身休成分发生了良好的变
化,这是运动减肥优于其它减肥手段的地方。即使不减轻体
重,运动也会减少肥胖并发症,可以改善心血管、呼吸及消化
系统的功能,有人认为这比减肥更重要。[71但运动减肥见效
慢,还存在个体间敏感性差异,而且停止运动后体重会反
弹。闭而且有文章认为,低强度的运动对硬旋脂肪的沉积是
极为危险的。[is]
2 饮R节制法减体皿
2.1 方法
饮食 控 制 主要是限制肥胖者饮食所提供的热量(关键是
限制锗和脂肪的摄人盈),同时供给充足的各种营养t如各
种必需氮蓦胶、维生素、矿物质等,使肥胖者拓人能盆小于消
收稿日期二2000-10-27
作贵简介:彭莉(1971一),女,重庆市人,讲师,从事运动生理学研究。
、1 陌
万方数据
第2期彭莉:几种不同减肥方法及其效果评价45
耗能量,从而达到减体重的目的。现有的资料,各学者所使
用的饮食方案不一。总的来说,减肥食谱应为高蛋白、低脂
肪、低锗的膳食,同时保证各种营养素齐全。尤其应注意足
量蛋白质的供给,以最大限度减少瘦体重的丢失。G7[s]
22 效果及评价
饮食 控 制 法在短期内可使体重减轻,效果显著。但体重
减轻的同时瘦体重也下降,有报导单纯饮食控制法减肥皮体
重下降了36%。而且节制饮食会造成RMR的下降,这种减
肥的效果可能会因为人体RMR降低而被抵消。单纯饮食疗
法还会伴有一系列的副作用,如营养不良、免疫力下降以及
胆结石等。因此,单纯饮食控制减体重不宜长期应用(尤其
肥胖儿童,正处于生长发育期,不能对它们进行严格的饮食
控制),执行期间应有严格的医务监督。[9.11.12,191
3 药物疗法减体重[1][4][91
(1) 食 欲 抑制剂:主要通过于扰下丘脑食欲中枢而降低
食欲,减少食物摄人,从而达到减轻体重的目的。食欲抑制
剂主要包括:(1)拟儿茶酚胺类药物,如Teouale,Mazindol等。
这类药物短期内减肥效果较好,且副作用轻徽,但停止服药
一段时间后,体重又逐渐上升到原来水平。(2)拟5一经色
胺类药物,如feldluram ,flu-b- 等,能降低摄食等生理活动
水平,有兴奋饱食中枢的作用,减肥效果良好且剧作用小,但
长期效果不一定。
(2) 促 进 代谢的药物:如甲状腺素、生长素、咖啡因等,还
包括一些刺激棕色脂肪组织(RAT)的生热药物,如拟p一肾
上腺家能药物。
(3) 影 响 消化吸收的药物:如消化醛抑制剂和一些轻泻
剂。
总的 来 说 ,药物减肥有其它疗法不可替代的作用,但药
物都有一定的副作用,长期使用会扰乱人体正常的代谢功
能,因此不宜长期应用。
4行为矫正疗法减体孟18,13,14,171
行为 矫 正 疗法是源于19世纪心理学领域的精神疗法。
20世纪60年代,FeNtec首次用行为疗法抬疗肥胖者的过食
行为,之后行为矫正这一技术不断完善。行为矫正治疗要求
改变肥胖者原来的饮食、运动以及生活习惯,使其能量处于
负平衡状态,从而达到控制体重的目的。
4.1 内容
行为 疗 法 已演变成了“饮食控制+运动+行为’矫正的
综合疗法,内容大致包括:(1)坚持营养训练及负平衡饮食,
如改变进食方式、自我控制饮食等;(2)多做运动或增加日常
生活活动量;(3)认识的调整,应认识到减肥是一个长期的过
程,朝健康有益的生活方式迈进为首要目标,其次才是体重
的下降,应了解有关饮食、营养、运动等方面的知识,对治疗
充满信心;(4)自我监督,即自我监督方案执行情况,儿童可
由家长协助监督;(5)正性刺激或惩罚,根据行为矫正情况及
肥胖度的变化,给予适当的鼓励或惩罚;(6)调整:当未达到
预期效果或目标行为时,可采取改变刺激方式、延长怡疗周
期、修订治疗方案等手段,以尽可能达到预期效果。
屯2 效.及评价
在肥 胖 儿 童治疗中发现,行为矫正疗法的效果是比较满
意的。此法降体重沮和持续,效果稳定,而且有助于养成健
康、科学、有益的生活习惯。从根本上说,这才是最重要的。
5 小结
运动 减 体 重的作用是肯定的,但见效慢,且有个体敏感
性的差异;饮食控制和药物减体脂省力、见效快,但有副作
用,且易反弹。鉴于肥胖是多因素引起的综合征,采用综合
性的方法来减肥才最合理。行为矫正疗法将饮食调整和运
动处方等落实到了建立健康、科学的生活方式上来,效果更
持久,也才能从根本上消除致肥的危险因素。
参考文献:
[1]杨拐让.实用运动生理学〔M].北京:北京体育大学出版
社,19S抖.
[2]何玉秀.肥胖病因学的分子生物学研究进展「i7.天津
体育学院学报,1999,14(1):7一9.
[3]李裕和.肥脾基因结构及作用机制[J].广州体育学院
学报,1998,18(4):60一61.
[4〕王从容,姜玉玲.运动减体脂?药物减体脂?[d].天津
体育学院学报,1999,14(1):15一17.
[5]赵哭,张勇.肥胖与脂代谢紊乱及这动对其的影响[1]
天津体育学院学报,1999,140):18一20.
【6〕何玉秀.系能这动减肥过程中血旋岛素水平的改变[J].
体育科学,1998,18(3):75一79.
[7]彭向峰.儿童单纯性肥胖应及其运动疗法的研究进展
[J].北京体育师范学M'*a,1998,10(1):28一36.
[8l孙莉胡,康玉华.当前美国对减肥问题的研究和展望[J]
.北京体育师范学院学报,1997,9(4):31一33.
[9」立丽梅.对日本中小学生身体成分与肥砰研究的J*述
[J7.体育科学,1994,14(4):60一63.
[10〕何3a秀.这动对岌邢脂肪积东和肥脾基因表达的影响
[J].体育科学,1998,18(4):。一72
〔川阎智力.运动与减肥健身[J].体育科学,1998,18(3):
90一92.
[12〕叶超群.饮食控制、运动付肥胖者免疫形响的研究进
展[J].北京体育师范学st学报,1997,9(3):82 - 85.
[13〕丁宗一.儿童单纯肥胖戒现状、趋势及防治对策【Jl .
天津体育学陇学报,1999,14(1):12一14.
[141蒋竞雄.行为疗法在肥胖儿童中的应用【Jl.中国心理
Y-生杂志,1997(8):252一254.
〔巧〕王从容.封力训练对饮食性肥脾大民的形响Dl,中国
运动医学杂志,1998,17(1):18一19
[16」张勇.单纯性肥辞症脂质代谢紊乱的运动防治一工有
氧这动对饮食诱导单纯性肥胖大及蛋白质代谢的影响[Jl.
中国这动医学杂志,1998,17(2):117一120.
[17]熊静宇.单纯性儿童肥胖症出现率升高的成因及干预
对策【J].北京体育师范学1%学报,1999,11(4):90-92.
[1s]陆一帆.中国离拉制肥胖还遥远鸣【习.天津体育学院
学报,1999,14(1):5一6.
[197叶超群.饮食控制、运动对肥脾者免建影响的研究进
展【17中国运动医学杂志,1999,18(1):51- 53.
[20]林丈搜这动生物化学工Ml.北京:人民体育出版社,
1999
「编 辑 :李 寿 荣 ]
都给你找出来了..够负责了吧..呵呵...
4. 以下java的题,一个是数据库方面另一个是逻辑题,麻烦大神帮忙写下答案,谢谢
//数字顺序没有要求
public static void main(String[] args) {
String s2="";
HashMap<String,Integer > map = new HashMap<String, Integer>();
map.put( "zero" , 0 );
map.put( "one" , 1 );
map.put( "two" , 2 );
map.put( "three", 3 );
map.put( "four" , 4 );
map.put( "five" , 5 );
map.put( "six" , 6 );
map.put( "seven", 7 );
map.put( "eight", 8 );
map.put( "nine" , 9 );
Scanner sc = new Scanner(System.in);
String sn = sc.next();
Set<String> set = map.keySet();
for (String s3 : set) {
while(sn.contains(s3)){
int sum=sn.length();
int sum2=0;
sn = sn.replace(s3, "");
System.out.println();
sum2=(sum-sn.length())/s3.length();
for (int i = 0; i < sum2; i++) {
s2+=map.get(s3);
}
}
}
System.out.println(s2);
}
5. oracle怎样查询某个数据库中某个方案下的某个表
用.分隔
比如你以用户abc登陆,要查询用户sys的表abc,可以
select
*
from
sys.abc
前提是权限允许,即sys用户的表abc允许用户abc查询
6. 如何查找数据库中某一字段值
1.查询数据库中的所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.查询某个数据库中所有的表名:
SELECT Name FROM SysObjects Where XType='U' ORDER BY Name
3.查询表结构信息:
1 SELECT (case when a.colorder=1 then d.name else null end) 表名,
2 a.colorder 字段序号,a.name 字段名,
3 (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
4 (case when (SELECT count(*) FROM sysobjects
5 WHERE (name in (SELECT name FROM sysindexes
6 WHERE (id = a.id) AND (indid in
7 (SELECT indid FROM sysindexkeys
8 WHERE (id = a.id) AND (colid in
9 (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name)))))))
10 AND (xtype = 'PK'))>0 then '√' else '' end) 主键,b.name 类型,a.length 占用字节数,
11 COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
12 isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when a.isnullable=1 then '√'else '' end) 允许空,
13 isnull(e.text,'') 默认值,isnull(g.[value], ' ') AS [说明]
14 FROM syscolumns a
15 left join systypes b on a.xtype=b.xusertype
16 inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
17 left join syscomments e on a.cdefault=e.id
18 left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
19 left join sys.extended_properties f on d.id=f.class and f.minor_id=0
20 where b.name is not null
21 --WHERE d.name='要查询的表' --如果只查询指定表,加上此条件
22 order by a.id,a.colorder
7. 关系数据库中数据库,表,字段及元组的概念及相互之间的关系
一、概念
(1)关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于Excle工作表。一个数据库可以包含任意多个数据表。
(2)关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。它是一种以关系模式为基础存储数据以及用数字方法处理数据库组织的方法,是目前最为流行的一种数据组织形式。
(3)元组(记录)。表中的一行即为一个元组,或称为一条记录。
(4)字段,数据表中的每一列称为一个字段,表是由其包含的各种字段定义的,每个字段描述了它所含有的数据的意义,数据表的设计实际上就是对字段的设计。创建数据表时,为每个字段分配一个数据类型,定义它们的数据长度和其他属性。字段可以包含各种字符、数字、甚至图形。
二、关系
一个数据库可以包含若干张表;一张表有若干个字段;每张表又有若干条记录(元组),每条记录(元组)对应每个字段都有一个值。
(7)某方数据库扩展阅读
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。
同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。
关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些数据是被列定义的种类。
8. 问一个文献检索的问题,想使用别学校图书馆的某一数据库的方法有哪些可以实现
楼上的说的是对的。
我是用我们学校网上图书馆等工具,就要下载一个VPN,然后用我的学生用户名和密码登陆,才能使用网上图书馆等资源。
你是要什么资料呢?如果我这边有的话,可以找一些给你。
ps.资料都是英文的。