mysql基础语法大全_mysql基本语法语句大全.doc

mysql基本语法语句大全

MySQL基本语法语句大全

2007-05-24 08:57

转换日期为字符串

字符集转换 : CONVERT(xxx USING gb2312)

类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)

可用的类型  二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期时间型 : DATETIME 浮点数 : DECIMAL 整数 : SIGNED 无符号整数 : UNSIGNED

例如:

select convert( CollectTime,char(10)) from CpuKPIData where CollectTime='2008-09-05 14:25:00'

结果是:'2008-09-05'

说明:char(10)就是取10位;

MySQL基本语法语句

一、SQL速成??结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。??以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。??

select锁行

先前 HYPERLINK ".tw/archives/000863.html"介紹過 SELECT ... FOR UPDATE 的用法,不過鎖定(Lock)的資料是判別就得要注意一下了。由於 InnoDB 預設是 Row-Level Lock,所以只有「明確」的指定主鍵,MySQL 才會執行 Row lock (只鎖住被選取的資料例) ,否則 MySQL 將會執行 Table Lock (將整個資料表單給鎖住)。

HYPERLINK ".tw/archives/000863.html"舉個例子:

假設有個表單 products ,裡面有 id 跟 name 二個欄位,id 是主鍵。

例1: (明確指定主鍵,並且有此筆資料,row lock)

SELECT * FROM products WHERE id='3' FOR UPDATE;

例2: (明確指定主鍵,若查無此筆資料,無 lock)

SELECT * FROM products WHERE id='-1' FOR UPDATE;

例2: (無主鍵,table lock)

SELECT * FROM products WHERE name='Mouse' FOR UPDATE;

例3: (主鍵不明確,table lock)

SELECT * FROM products WHERE id<>'3' FOR UPDATE;

例4: (主鍵不明確,table lock)

SELECT * FROM products WHERE id LIKE '3' FOR UPDATE;

註1:

FOR UPDATE 僅適用於 InnoDB,且必須在交易區塊(BEGIN/COMMIT)中才能生效。

註2:

要測試鎖定的狀況,可以利用 MySQL 的 Command Mode ,開二個視窗來做測试.

创建表??

表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下:??create table table_name??(column_name data无效 {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 (blob_col BLOB, index(blob_col(10)));??

2.创建索引??索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类

你可能感兴趣的:(mysql基础语法大全)