MySQL对标准SQL的扩展
MySQL服务器包含一些其他SQL DBMS中不具备的扩展。注意,如果使用了它们,将无法把代码移植到其他SQL服务器。在某些情况下,你可以编写包含MySQL扩展的代码,但仍保持其可移植性,方法是用“/*... */”注释掉这些扩展。MySQL服务器能够解析并执行注释中的代码,就像对待其他MySQL语句一样,但其他SQL服务器将忽略这些扩展。例如:
SELECT /*! STRAIGHT_JOIN */ col_name from table1,table2 WHERE ...
如果在字符“!”后添加了版本号,仅当MySQL的版本等于或高于指定的版本号时才会执行注释中的语法:
CREATE /*!32302 TEMPORARY */ TABLE t (a INT);
这意味着,如果你的版本号为3.23.02或更高,MySQL服务器将使用TEMPORARY关键字。
下面按类别介绍了各种MySQL扩展。
· 磁盘上的数据组织
MySQL服务器会将每个数据库映射到MySQL数据目录下的1个目录中,并将数据库中的表映射到数据库目录下的文件名。它具有下述含义:
o 如果操作系统的文件名区分大小写(如大多数Unix系统),当MySQL服务器运行在这类操作系统上时,数据库名和表名也区分大小写。
o 你可以使用标准的系统命令来备份、重命名、移动、删除、并拷贝由MyISAM或ISAM存储引擎管理的表。例如,要想重命名MyISAM表,可重命名表对应的.MYD、.MYI、以及.frm文件。
数据库、表、索引、列或别名能够以数字开头(但或许不能全部由数字构成)。
· 通用语言语法
o 可以使用“””或“’”括住字符串,而不仅是“’”。
o 在字符串中使用“\”作为转义字符。
o 在SQL语句中,可以使用“db_name.tbl_name”语法访问不同数据库中的表。某些SQL服务器提供了相同的功能,但调用该用户空间除外。MySQL服务器不支持表空间,如下述语句中使用的那样: CREATE TABLE ralph.my_table...IN my_tablespace.
· SQL语句的语法
o ANALYZE TABLE,CHECK TABL
相关文档:
SQL重复记录查询
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from
people
where peopleId in (select peopleId from people group by peopleId
having count
(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(p ......
mysql 数据库默认的连接只能在本机连接,远程连接必须授权。
代码: 全选
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED
BY 'mypassword' WITH GRANT
OPTION;如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用
mypassword作为密码
代码: GRANT ALL PR ......
2009-11-18 12:51:46
限定处理记录的单位,rowcount=100表式每次处理100条数据。实际处理的记录数由rowcount和where子句决定。如果符合where的记录数大于rowcount,则有rowcount决定,如果小于rowcount,则由where决定。
create table tb(id int identity(1,1),num int)
insert into tb
values(1)
while @@ ......
使用整数数据的精确数字数据类型。
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
存储大小为 8 个字节。
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,64 ......
參考: http://blog.sina.com.cn/s/blog_59b11d010100af1n.html
如何恢复/修复MS SQL数据库的MDF文件
如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。
或者在查询分析器中输入:
sp_attach_db "数据库名称" ......