用mysql源码进行SQL解析
http://blog.csdn.net/iamstillzhang/archive/2007/04/01/1548377.aspx
用mysql源码进行SQL解析
Mysql是通过yacc进行SQL语句解析的,这里介绍一下如何使用mysql的源码进行SQL语句解析。由于Mysql的源代码注释比较少,而且缺少资料,所有些地方研究不够深入。
1 Filed介绍
MYSQL中Filed有以下几种类型:
enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
MYSQL_TYPE_NEWDATE,
MYSQL_TYPE_ENUM=247,
MYSQL_TYPE_SET=248,
MYSQL_TYPE_TINY_BLOB=249,
MYSQL_TYPE_MEDIUM_BLOB=250,
MYSQL_TYPE_LONG_BLOB=251,
MYSQL_TYPE_BLOB=252,
MYSQL_TYPE_VAR_STRING=253,
MYSQL_TYPE_STRING=254,
MYSQL_TYPE_GEOMETRY=255
};
下图列出几种常用的Filed子类及其
相关文档:
基本查询
SELECT语句用于查询数据库和SQL中的所有输出操作。
SELECTc_u_name, emailfromcooya_users;
输出cooya_users表中所有行(或记录)的属性c_u_name和email的值。
如果需要所有属性,可以使用星号(*)的快捷方式。
SELECT* from cooya_users;
SELECT语句还可以输出不是数据库中的数据及可以用作简单的计算符 ......
首先设置mysql的编码为utf8
在linux下修改3个my.cnf的1个/etc/mysql
/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql
数据库时使用utf8编码,以让 ......
在TOMCA下的Catalina\localhost目录的工程xml,编写如下代码:
<Context path="/testProject" docBase="E:\project\TestProject\WebContent" reloadable="true" debug="0" privileged="true">
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name=" ......
Comparison of SQL and MDX Syntax
The Multidimensional Expressions (MDX) syntax is similar to the syntax of Structured Query Language (SQL). In many ways, the functionality supplied by MDX is also similar to that of SQL; with effort, you can eve ......
打开查询分析器,输入命令即可。 DUMP TRANSACTION 数据库名 WITH NO_LOG
如果觉得发现LDF文件占用磁盘空间还是很大。
请打开企业管理器--右键点击需压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,调整确定即可。
Technorati 标签: SQL ......