1.Mysql 在
Net start mysql[
Net stop mysql[
Quit[
\c[
Select version(),current_date()
Mysql
Now()
User() 用戶
select sin( pi()/6),100/3;
提示符
含義
Mysql>
准備好接受新命令
->
等待多行命令的下一行
‘>
等待下一行,等待以單引號“’”)
“
等待下一行,等待以雙引號“’”)
`
等待下一行,等待以反斜點“`”)
/*
等待下一行,等待以
注意:當輸入
①串數據數據類型
數據類型
說明
char
1-255個字符的定長串。他的長度必須在創建時指定否則Mysql假定為char(1)
varchar
長度可變,整體體最大長度是65,532字節如果創建時指定為varchar(n),則可存儲0-n個字符的變長串(n<=65535)字符集而定
tinytext
與text相同,最大長度為255字節
mediumtext
與text相同,但最大16k
text
最大長度為64k的變長文本
longtext
與text相同,但最大長度為4GB
enum
接受最多64k個串組成的一個預定義集合的某個串
set
接受最多64k個串組成的一個預定義集合的0個或多個串
數值數據類型
數據類型
說明
tinyint
整數值,支持-128-127(如果unsigned,為0-255)的數 1字節
smallint
整數值,支持-32768-32767(unsigned,0-65535) 2字節
mediumint
-8388608-8388607(undesigned 0-) 3字節 223
-223-223-1
int
231 4字節
bigint
8字節
float
單精度浮點值
double
雙精度浮點值
boolean
布爾
decimal
精度可變的浮點值
peal
4字節的浮點值
bit
為字段,1-64位.(mysql5之前功能上等於tinyint)
日期和時間數據類型
數據類型
說明
DATE
表示1000-01-01至9999-12-31的日期,格式(YYYY-MM-DD)
DATETIME
DATE和TIME的組合
TIMESTAMP
功能上同DATETIME(但范圍較小)
TIME
格式 HH:MM:SS
YEAR
用2位數字表示,范圍是70(1970)-69(2069),4位表示,1901-2155
二進制數據
數據類型
說明
TINYBLOB
Blob最大長度為255字節
BLOB
64kb
MEDIUMBLOB
16MB
LONGBLOB
4GB
列聲明中可選屬性 unsigned ,zerofill
Tinyint
只有當給
比如定義了
小數型:
浮點型
Float(M,D) M
比如
-9999.99-9999.99
688.896
1,3,7,9
2,4,6,8,5
定點型:
Decimal(M,D)
插入時數據與存入的數據差異小
字符型:
Char(M) M而非字節大小一個漢字字節而它仍是一個字符(插入的數據小於規定長度時用空格補齊 取出時去掉尾部空格,如果插入的數據尾部就是帶有空格的,則一存一取後尾部空格會丟失,小於
Varchar(M)
證明以上差異實例:
創建表
CREATE TABLE `t2` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` char(7) NOT NULL,
`pass` varchar(8) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入尾部帶空格的數據
insert into t2(name,pass)
value('hk ','hk ');
取出數據
select concat(name,'!'),concat(pass,'!') from t2;
會發現
對於日期型的數據,默認為 CURRENT_TIMESTAMP等自動填充的值時,為保證修改某條相關的信息時這條裡的時間也隨著修改,長加on update 改變的因素
比如創建一個時間型字段
列聲明為:
·stamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
修改列數據屬性
法一:
ALTER TABLE `t1` CHANGE `id` `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
alter table
alter table 表名 modify column 字段名 屬性聲明 ...
where與having