一、mysql在windows上不區分大小寫,在linux上嚴格區分大小寫。
mysql
二、語句後必選加分號linux
建立數據庫test算法 查看數據庫sql 使用數據庫數據庫 刪除數據庫windows |
create database test;安全 show databases;服務器 use test;函數 drop database test;加密 |
建立一個表test_01 (是否爲空,是否有默認值,是否自增,是否爲主鍵) |
create table test_01( id varchar(50) not null auto_increment primary key, name nvarchar(40) null default "002", age int(5)null default 444); |
增 | INSERT INTO 表名(字段名,字段名) VALUES (值,值) |
刪 | DELETE FROM 表名 WHERE 條件 |
改 | UPDATE 表名 SET 字段=值,字段=值 WHERE 條件 |
查 | SELECT 字段,字段 FROM 表名 WHERE 條件 |
查table | show tables [from db_name] [like wild] |
修改表結構(alter) 添加列(age) 修改列 刪除列 給列更名 給表更名 刪除表 |
alter table table_name add age int alter table table_name modify age varchar(50); alter table table_name drop age; alter table table_name change old new int; alter table table_name_old rename table_name_new; drop table table_name |
查詢排序(asc升序,desc降序) | SELECT 字段,字段 FROM 表名 WHERE 條件 order by age asc; |
基本數據類型:
int |
-2147483648到2147483648 | |
float |
單精 | float(5,2)四捨五入保留兩位小數 |
double | 雙精 | |
decimal | 自定義精度 | |
char |
0到255 |
|
varchar | 0到255長度可變 | |
text | 不區分大小寫 |
|
blod | 區分大小寫 | |
showtime time, birthday date, graduation year |
'12:02:02', '2000-02-02', 2002 |
120202, 20000202, 02 |
查詢格式:
select selection_list //選擇哪些列
from table_list //從何處選擇行
where primary_constraint //行必須知足什麼條件
group by grouping_columns // 怎樣對結果分組
having secondary_constraint //行必須知足的第二條件
order by sorting_columns //怎樣對結果排序
limit count //結果限定
數學函數:
ABS(x);//返回x的絕對值
ACOS(x);//返回x(弧度)的反餘弦值
ASIN(x);//返回x(弧度)的反正弦值
ATAN(x);//返回x(弧度)的反正切值
CEILING(x);//返回大於x的最小整數值
COS(x);//返回x(弧度)的餘弦值
COT(x);//返回x(弧度)的餘切
DEGREES(x);//返回弧度值x轉化爲角度的結果
EXP(x);//返回值e(天然對數的底)的x次方
FLOOR(x);//返回小於x的最大整數值
GREATEST(x1,x2,x3...);//返回集合中最大的值
LEAST(x1,x2,x3,,,);//返回集合中最小的值
LN(x);//返回x的天然對數
LOG(x,y);//返回x的以y爲底的對數
MOD(x,y);//返回x/y的模(餘數)
PI();//返回pi的值(圓周率)
POW(x,y)或者POWER(x,y);//返回x的y次冪
RAND();//返回0到1內的隨機數
RADIANS(x);//返回角度x轉化爲弧度的結果
ROUND(x,y);//返回參數x的四捨五入的有y位小數的值
SIGN(x);//返回表明數字x的符號的值
SQRT(x);//返回x的開方
SIN(x);//返回x(弧度)的正弦值
TAN(x);返回x(弧度)的正切值
TRUNCATE(x,y);//返回數字x截短爲y位小數的結果
聚合函數:
AVG(col);//返回指定列的平均值
COUNT(col);//返回指定列中非null值的個數
MIN(col);//返回指定列的最小值
MAX(col);//返回指定列的最大值
SUM(col);//返回指定列的全部值之和
STD(col)或STDDEV(col);//返回指定列的全部值的標準誤差
VARIANCE(col);//返回指定列的全部值的標準方差
GROUP_CONCAT(col);//返回由屬於一組的列值鏈接組合而成的結果
日期&時間:
select now();//返回當前時間
select curdate();//當前日期,格式爲 YYYY-MM-DD
select curtime();//當前時間,格式爲 HH:MM:SS
加密函數:
AES_ENCRYPT(str,key);//返回使用密鑰key對字符串str利用高級加密標準算法加密後的結果
AES_DECRYPT(str,key); //返回使用密鑰key對字符串str利用高級加密標準算法解密後的結果
DECODE(str,key);//使用key做爲密鑰解密加密字符串str
ENCRYPT(str,salt);//使用UNIX crypt()函數,用關鍵詞salt加密字符串str
ENCODE(str,key);//使用key做爲密鑰加密字符串str
MD5();//計算字符串str的MD5校驗和
PASSWORD(str);//返回字符串str的加密版本
SHA();//計算字符串str的安全散列算法(SHA)校驗和
格式化函數:
date_format(date,fmt);//依照字符串fmt格式化日期date的值
format(x,y);//把x格式化爲以逗號隔開的數字序列,y是結果的小數位數
inet_aton(ip);//返回ip地址的數字表示
inet_ntoa(num);//返回數字所表明的ip地址
time_format(time,fmt);//依照字符串fmt格式化時間time值
系統信息:
database();//返回當前數據庫名稱
benchmark(count,expr);//將表達式expr重複運行count次
connection_id();//返回當前客戶的鏈接id
found_rows();//將最後一個select查詢(沒有以limit進行限制結果)返回的記錄行數返回
get_lock(str,dur);//獲取一個由字符串str命名的而且有dur秒延時的鎖定
is_free_lock(str);//檢查以str命名的鎖定是否釋放
last_insert_id();//返回由該系統自動產生的最後一個auto increment id的值
master_pos_wait(log,pos,dur);//鎖定主服務器dur秒直到從服務器與主服務器的日誌log指定的位置pos同步
release_lock(str);//釋放由字符串str命名的鎖定
user()/system_user();//返回當前登陸用戶名