查询数据库中所有表名有两种方法:
1、select table_name from information_schematables where table_schema='当前数据库';
2、show tables;
其中,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面。
扩展资料:
Mysql的INFORMATION_SCHEMA数据库包含了一些表和视图,提供了访问数据库元数据的方式。
元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
下面对一些重要的数据字典表做一些说明:
SCHEMATA表:提供了关于数据库的信息。
TABLES表:给出了关于数据库中的表的信息。
COLUMNS表:给出了表中的列信息。
STATISTICS表:给出了关于表索引的信息。
USER_PRIVILEGES表:给出了关于全程权限的信息。该信息源自mysqluser授权表。
SCHEMA_PRIVILEGES表:给出了关于方案(数据库)权限的信息。该信息来自mysqldb授权表。
TABLE_PRIVILEGES表:给出了关于表权限的信息。该信息源自mysqltables_priv授权表。
COLUMN_PRIVILEGES表:给出了关于列权限的信息。该信息源自mysqlcolumns_priv授权表。
CHARACTER_SETS表:提供了关于可用字符集的信息。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。
TABLE_CONSTRAINTS表:描述了存在约束的表。
KEY_COLUMN_USAGE表:描述了具有约束的键列。
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。
VIEWS表:给出了关于数据库中的视图的信息。
TRIGGERS表:提供了关于触发程序的信息。
表值函数是数据库中一种较为特殊的函数类型,它的返回值不再只是一个数值或一个字符串,而是一张数据表。也就是说表值函数返回的是
table
数据类型。对于内联表值函数,没有函数主体;表是单个
SELECT
语句的结果集。使用表值函数的时候,把函数直接当成是表或视图使用,表值函数的参数传入方法与标量函数没有区别。
一、什么是函数
Excel中所提的函数其实是一些预定义的公式,它们使用一些称为参数的特定数值按特定的顺序或结构进行计算。用户可以直接用它们对某个区域内的数值进行一系列运算,如分析和处理日期值和时间值、确定贷款的支付额、确定单元格中的数据类型、计算平均值、排序显示和运算文本数据等等。例如,SUM 函数对单元格或单元格区域进行加法运算。
术语说明
什么是参数?参数可以是数字、文本、形如 TRUE 或 FALSE 的逻辑值、数组、形如 #N/A 的错误值或单元格引用。给定的参数必须能产生有效的值。参数也可以是常量、公式或其它函数。
参数不仅仅是常量、公式或函数,还可以是数组、单元格引用等:
1数组--用于建立可产生多个结果或可对存放在行和列中的一组参数进行运算的单个公式。在 Microsoft Excel有两类数组:区域数组和常量数组。区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式;常量数组将一组给定的常量用作某个公式中的参数。
2单元格引用--用于表示单元格在工作表所处位置的坐标值。例如,显示在第 B 列和第 3 行交叉处的单元格,其引用形式为"B3"。
3常量--常量是直接键入到单元格或公式中的数字或文本值,或由名称所代表的数字或文本值。例如,日期 10/9/96、数字 210 和文本"Quarterly Earnings"都是常量。公式或由公式得出的数值都不是常量。
函数是否可以是多重的呢?也就是说一个函数是否可以是另一个函数的参数呢?当然可以,这就是嵌套函数的含义。所谓嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用。例如图1中所示的公式使用了嵌套的 AVERAGE 函数,并将结果与 50 相比较。这个公式的含义是:如果单元格F2到F5的平均值大于50,则求F2到F5的和,否则显示数值0。
图1 嵌套函数
在学习Excel函数之前,我们需要对于函数的结构做以必要的了解。如图2所示,函数的结构以函数名称开始,后面是左圆括号、以逗号分隔的参数和右圆括号。如果函数以公式的形式出现,请在函数名称前面键入等号(=)。在创建包含函数的公式时,公式选项板将提供相关的帮助。
图2 函数的结构
公式选项板--帮助创建或编辑公式的工具,还可提供有关函数及其参数的信息。单击编辑栏中的"编辑公式"按钮,或是单击"常用"工具栏中的"粘贴函数" 按钮之后,就会在编辑栏下面出现公式选项板。整个过程如图3所示。
图3 公式选项板
二、使用函数的步骤
在Excel中如何使用函数呢?
1单击需要输入函数的单元格,如图4所示,单击单元格C1,出现编辑栏
图4 单元格编辑
2单击编辑栏中"编辑公式"按钮 ,将会在编辑栏下面出现一个"公式选项板",此时"名称"框将变成"函数"按钮,如图3所示。
3单击"函数"按钮右端的箭头,打开函数列表框,从中选择所需的函数;
图5 函数列表框
4当选中所需的函数后,Excel 2000将打开"公式选项板"。用户可以在这个选项板中输入函数的参数,当输入完参数后,在"公式选项板"中还将显示函数计算的结果;
5单击"确定"按钮,即可完成函数的输入;
6如果列表中没有所需的函数,可以单击"其它函数"选项,打开"粘贴函数"对话框,用户可以从中选择所需的函数,然后单击"确定"按钮返回到"公式选项板"对话框。
在了解了函数的基本知识及使用方法后,请跟随笔者一起寻找Excel提供的各种函数。您可以通过单击插入栏中的"函数"看到所有的函数。
图6 粘贴函数列表
三、函数的种类
Excel函数一共有11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。
1数据库函数--当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于 1,000 且小于 2,500 的行或记录的总数。Microsoft Excel 共有 12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为 Dfunctions,也称为 D 函数,每个函数均有三个相同的参数:database、field 和 criteria。这些参数指向数据库函数所使用的工作表区域。其中参数 database 为工作表上包含数据清单的区域。参数 field 为需要汇总的列的标志。参数 criteria 为工作表上包含指定条件的区域。
ACCESS支持标准的SQL语句,它的计算能力远比EXCEL强大。
另,ACCESS数据库的下一级是表,表的下一级是记录、列,没有单元格这个概念吧。
如果想学习使用ACCESS计算,你去看一下SQL的书籍,在ACCESS里面的查询,可以直接写SQL语句。
select from t_tree where node_name= N'辽宁省' --1
这句中要把父级全部列出,比如parent_id is null或parent_id=0这类的条件
有感于网上查到了大量相当有帮助的技术性文章,这里也把我前段时间实现的一个功能程序公布出来,供需者参考。
功能简介:服务器R(remote)只负责网站的运行和访问,每天获得一批新的原始数据,服务器L(local)负责后台运算,自动定时从服务器R的mysql里读取数据,在L上经过matlab编写的算法程序运算后再远程将结果写回R的数据库以实现网站的更新。全程无人值守。(L负责后台运算,安装matlab;R负责网络访问,安装mysql)
不同于网络上查到的实现方法,本程序全部在m文件里编写,不用php 或c++做接口,宗旨就是用简单的方法实现简单的想法。(以下假定suanfam子程序已经存在)
1编写import_datam子程序,实现从mysql读取数据到matlab中
1)下载mysql的jdbc的java驱动,安装到:\Program Files\MATLAB71\java\jar\toolbox路径下;
2)此“路径\文件名”添到:\Program Files\MATLAB71\toolbox\local下的classpathtxt文件中;
3)设置mysql下的数据库名称为带有“mysql ”后缀的,比如:abcmysql;
4)服务器R的mysql下,输入“grant all on to username@"L的IP" Identified by
"password",允许L远程访问;
5)复制如下代码到import_data文件中
function MM=import_data();
timeoutA=logintimeout(5)
% Set maximum time allowed for establishing a connection
connA = database('mysql', 'username', 'password','commysqljdbcDriver','jdbc:mysql:
//R的IP:3306/abc')
ping(connA) % Check the database status
cursorA=exec(connA,'SELECT ALL CONLUMA,CONLUMB,CONLUMC FROM tablename);
setdbprefs('DataReturnFormat','numeric'); %set numeric format
cursorA=fetch(cursorA) ; % Fetch all rows of data
MM=cursorAData; % Display the data,save the data in MM
close(cursorA) ; % Close the cursor and the connection
close(connA)
其中username,password,L\R的IP,数据库名称abc,tablename,sql语句都是要依实际修改的。
2编写export_datam子程序,实现从matlab写回数据到mysql中:
原理类似, (tablename2的表要事先建好u)复制以下程序:
timeoutA=logintimeout(5)
% Set maximum time allowed for establishing a connection
connA = database('mysql', 'username', 'password','commysqljdbcDriver','jdbc:mysql:
//R的IP:3306/abc')
ping(connA) % Check the database status
%delete the records before updating
cursorA=exec(connA,'delete tablename FROM tablename');
Colnames = ;%updating
fastinsert(connA, 'tablename2', Colnames,newdata);
close(cursorA) ;
close(connA);
其中username,password,R的IP,数据库名称abc,tablename,sql语句都是要以实际情况修改的,
newdata就是suanfam程序得到结果组成的矩阵,这些结果将写到数据库中tablename2的表中。
3编写主程序以调用这些子程序:
4编译m程序为exe程序:
(注意主程序头部的也要加“function”呦,否则作为脚本文件不能编译)
1)在matlab环境中配置编译器,输入mbuild -setup,依提示 *** 作;
2)输入mcc -m mainm suanfam import_datam export_datam生成与主程序同名的exe文件;
3)设置windows任务计划,添加此exe文件便可以自动定时读取、计算、更新网站数据库了。
ps:matlab70没有找到deploytool工具,没法连接数据库,要使用更高版本的matlab。
Database Toolbox 2
和关系数据库进行数据交换
Database 工具箱可以使你使用MATLAB 的数据分析
和可视化工具对存储在数据库中的数据进行分析。在
MATLAB 工作环境中, 您可以使用结构化查询语言进
行:
■ 对数据库中的数据进行读写
■ 使用约束条件对数据库进行 *** 作
您可以在MATLAB 中和绝大多数的数据库进行交
互, 包括Oracle、Sybase、Microsoft SQL Server、
MySQL、PostgreSQL 以及Microsoft Access 。该工具箱
还允许您在单个的MATLAB 任务中同时存取多个数据
库并且支持事务特性。它包含了Visual Query Builder
( 可视化查询工具), 它可以使您在不熟悉SQL 的情
况下和数据库进行交互。
Visual Query Builder
可以快速对您的数据
进行存取和图表显示
关键特性
■ 支持ODBC/JDBC 连接的数据库接口
包括Oracle、Sybase、Microsoft SQL
Server、MySQL、PostgreSQL 以及
Microsoft Access
■ 从MATLAB 中直接执行查询语句
■ 对于大数据量查询, 将增量获取数据
■ 在所有的数据导入和导出的过程中,
保留数据类型
■ 单个的MATLAB 任务中可以同时
存取多个数据库
■ 从一个数据库中导入数据,完成计
算后, 将结果输出到另外一个数据库
■ 在单个事务中获取大数据集, 或者分
割数据, 通过多个事务来完成
■ 通过在一个MATLAB 会话中保持数
据库连接来减少需要进行输入和输出
数据所需要的语句, 除非数据库连接
被显式关闭
■ 它可以使您在不熟悉SQL 的情况下
和数据库进行交互
在MATLAB 中对Microsoft Access 数据库进行查询
数据库工具箱函数列表
数据库访问函数
clearwarnings 清除数据库连接警告
close 关闭数据库连接
commit 数据库改变参数
database 连接数据库
exec 执行SQL语句和打开油标
get 得到数据库属性
insert 导出MATLAB单元数组数据到数据库表
isconnection 判断数据库连接是否有效
isreadonly 判断数据库连接是否只读
ping 得到数据库连接信息
rollback 撤销数据库变化
set 设置数据库连接属性
sql2native 转换JDBC SQL 语法为系统本身的SQL语法
update 用MATLAB单元数组数据代替数据库表的数据
数据库游标访问函数
attr 获得的数据集的列属性
close 关闭游标
cols 获得的数据集的列数值
columnnames 获得的数据集的列名称
fetch 导入数据到MATLAB单元数组
get 得到游标对象属性
querytimeout 数据库SQL查询成功的时间
rows 获取数据集的行数
set 设置游标获取的行限制
width 获取数据集的列宽
数据库元数据函数
bestrowid 得到数据库表唯一行标识
columnprivileges 得到数据库列优先权
columns 得到数据库表列名称
crossreference 得到主健和外健信息
dmd 创建数据库元数据对象
exportedkeys 得到导出外部健信息
get 得到数据库元数据属性
importedkeys 得到导入外健信息
indexinfo 得到数据库表的索引和统计
primarykeys 从数据库表或结构得到主健信息
procedurecolumns 得到目录存储程序参数和结果列
procedures 得到目录存储程序
supports 判断是否支持数据库元数据
tableprivileges 得到数据库表优先权
tables 得到数据库表名称
versioncolumns 得到自动更新表列
--------------------------------------------------------------------------------
Xinsoft,2004-08-11 20:28:15
数据库工具箱让用户使用MATLAB强大数据分析和可视化工具功能处理存储在数据库中的数据的复杂分析。在MATLAB环境下工作,可以用结构化查询语言SQL)命令:
读,写数据库的数据
简单和高级条件的数据查询
连接MATLAB和数据库包括Oracle,Sybase,Microsoft SQL Server和Informix。
可以用单一MATLAB同时访问多个数据库,进行大数据量的事务处理。不懂SQL的用户可以用Visual Query Builder处理数据。
重点
鲁棒接口能力。 用ODBC/JDBC连接数据库,包括Oracle,Sybase SQL Server,Sybase SQL Anywhere,Microsoft SQL Server, Microsoft Access,
Informix Ingres
SQL语法。 在MATLAB环境直接执行SQL查询
动态导入数据。 调节SQL查询,把数据导入MATLAB。数据库工具箱满足小的和大的查询。
数据类型保存。 在数据导入和导出行为MATLAB保存数据类型
同时访问多个数据库。 从数据库导入数据,对该数据执行计算,然后导入到另一个数据库。
处理大数据集的能力。
连续状态的数据库连接:一旦和某个数据库的连接建立后,数据库一直是打开的,除非在MATLAB中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入,输出数据 Visual Query Builder 该图形用户接口列数据源和所有表和字段,不懂SQL的用户可以访问和查询数据库函数列表
数据库访问函数
clearwarnings 清除数据库连接警告
close 关闭数据库连接
commit 数据库改变参数
database 连接数据库
exec 执行SQL语句和打开油标
get 得到数据库属性
insert 导出MATLAB单元数组数据到数据库表
isconnection 判断数据库连接是否有效
isreadonly 判断数据库连接是否只读
ping 得到数据库连接信息
rollback 撤销数据库变化
set 设置数据库连接属性
sql2native 转换JDBC SQL 语法为系统本身的SQL语法
update 用MATLAB单元数组数据代替数据库表的数据
数据库游标访问函数
attr 获得的数据集的列属性
close 关闭游标
cols 获得的数据集的列数值
columnnames 获得的数据集的列名称
fetch 导入数据到MATLAB单元数组
get 得到游标对象属性
querytimeout 数据库SQL查询成功的时间
rows 获取数据集的行数
set 设置游标获取的行限制
width 获取数据集的列宽
数据库元数据函数
bestrowid 得到数据库表唯一行标识
columnprivileges 得到数据库列优先权
columns 得到数据库表列名称
crossreference 得到主健和外健信息
dmd 创建数据库元数据对象
exportedkeys 得到导出外部健信息
get 得到数据库元数据属性
importedkeys 得到导入外健信息
indexinfo 得到数据库表的索引和统计
primarykeys 从数据库表或结构得到主健信息
procedurecolumns 得到目录存储程序参数和结果列
procedures 得到目录存储程序
supports 判断是否支持数据库元数据
tableprivileges 得到数据库表优先权
tables 得到数据库表名称
versioncolumns 得到自动更新表列
MATLABER曰:
这是个很经典的介绍,
因为它涉及到MATLAB在金融学中的应用,甚至利用它可以作出很好的财务软件
zhimingchen曰:Visual Query Builder 不支持汉字,所以我觉得使用 Visual Query Builder 不是最好的方法;使用DAO,特别ADO是一种很好方法,可以做到与数据库无关;请看我的一个访问数据库的实例:
function Table=GetTable(ConnectionStr,SqlStr)
%ConnectionStr为连接串,比如可以设置ConnectionStr='Data Source=HistryData20;
Pr
ovider=MSDASQL;User ID=Admin;Password=;'
%SqlStr为SQL语句,
% 利用ADO调用数据源
try
MyConnection=actxserver('ADODBConnection');
MyConnectionConnectionString=ConnectionStr;
invoke(MyConnection,'Open');
MyRecordset=invoke(MyConnection,'Execute',SqlStr);
%域信息
Fields=MyRecordsetFields;
%域个数
FieldNumber=FieldsCount;
FieldNames=cell(1,FieldNumber);
%获取数据
% invoke(MyRecordset,'MoveFirst');
Data=invoke(MyRecordset,'GetRows');
MyRecordsetSource;
%记录行数
RecordCount=size(Data,2);
for i=1:size(FieldNames,2)
TempField=get(Fields,'Item',i-1);
FieldNames=TempFieldName;
end
%给Table赋植
TableRecordCount=RecordCount;
TableFieldNames=FieldNames;
TableData=Data;
invoke(MyRecordset,'Close');
invoke(MyConnection,'Close');
catch
msgbox(lasterr,'Tint');
TableData={};
end
--------------------------------------------------------------------------------
Xinsoft,2004-08-11 20:28:37
一、通过MATLAB 提供的数据库引擎, 以下是MATLAB ,DATABASE TOOLBOX中的例子,
通过ODBC/JDBC 接口访问具体的数据库
function dbimportdemo()
%DBIMPORTDEMO Imports data into Matlab from a database
% Version 10 21-Oct-1997
% Author(s): EF McGoldrick, 12/5/1997
% Copyright (c) 1984-2001 The MathWorks, Inc
% $Revision: 17 $ $Date: 2001/01/12 16:22:06 $
% Set maximum time allowed for establishing a connection
timeoutA=logintimeout(5)
% Connect to a database
%打开数据源 SampleDB
connA=database('SampleDB','','')
% Check the database status
ping(connA)
% Open cursor and execute SQL statement
%执行SQL查询语句
cursorA=exec(connA,'select country from customers');
% Fetch the first 10 rows of data
%获取前十行数据
cursorA=fetch(cursorA,10)
% Display the data
%显示
AA=cursorAData
% Close the cursor and the connection
%关闭
close(cursorA)
close(connA)
二、通过DAO访问数据库(DAO技术适合于访问ACCESS 2000以下版本的数据库,优点是功
能
齐全,具体可以参考MSDN关于DAO的帮助),以下是我自己摸索出来的,在MATLAB帮助文
件
中有关于如何调用EXCEL组件的方法。
Handle=actxserver('DAODBEngine36');
MyWSS=get(Handle,'Workspaces')
Count=get(MyWSS,'Count')
MyWS=get(MyWSS,'Item',0)
%打开数据库
MyDB=invoke(MyWS,'OpenDatabase','D:\My Documents\testmdb')
%打开数据库的表,得到一个指向记录集的指针
MyRS=invoke(MyDB,'OpenRecordset','用户')
%获取“用户”表的前十行数据
MyRows=invoke(MyRS,'GetRows','10')
%关闭
invoke(MyRS,'Close')
invoke(MyDB,'Close')
invoke(MyWS,'Close')
三、ADO技术(微软建议ACCESS 2000及以上版本的数据库应尽量通过ADO访问,优点是可
以
通过较少的对象访问数据库,ADO与今后微软的数据库技术发展方向一致,目前支持的功
能
稍微少了一些)具体访问的可以参考MSDN的帮助文件和ADO 类型库的方法原型。
四、通过dde进行动态数据交换,可以查看help
这是我帮你找来的。不知道对不对。找了很久的!
以上就是关于mysql数据库表有哪些全部的内容,包括:mysql数据库表有哪些、sql2005中 表值函数是什么、在EXCEL中,怎么写函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)