一、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();//返回当前登陆用户名