数据库
追加列:ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;
修改列类型:ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;
修改列:ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;
删除列:ALTER TABLE 表名 DROP 列名;
插入 语法:INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);
注意事项:
(1)插入值类型必须与对应列的数据类型一致
(2)数据不能超出长度
(3)插入值得为之必须与列名顺序一致
(5) 字符和日期数据要放在单引号中
(5)插入空值使用null
修改语法:UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句;删除语法:DELETE FROM 表名 [where 条件语句]
备份数据库输入quit退出mysql, 在cmd.exe中输入:
mysqldump –u用户名 –p密码 数据库名 > 文件名
恢复数据库进入mysql.exe之后, 使用数据库之后
source 文件名
AS :SELECT 列名 AS 别名 FROM 表名
where语法:SELECT 列名 FROM 表名 [WHERE 条件语句]
COUNT函数语法:SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]
SUM函数语法:SELECT SUM(列名) FROM 表名 [WHERE 条件语句];
AVG函数语法:SELECT AVG(列名) FROM 表名 [WHERE 条件语句];
MAX / MIN函数语法:
SELECT MAX(列名) FROM 表名 [WHERE 条件语句];
SELECT MIN(列名) FROM 表名 [WHERE 条件语句];
GROUP BY(重点)语法:SELECT 列名 FROM 表名 GROUP BY 列名 [HAVING 条件语句]
时间函数:注意date, datetime, timestamp之间的区别
ADDTIME(原时间, 增加值) 在某个时间上增加一段时间
CURRENT_DATE() 当前日期
CURRENT_TIME() 当前时间
CURRENT_TIMESTAMP() 当前时间戳
DATE(时间) 返回制定时间的日期部分
DATE_ADD(日期,INTERVAL 增加值 类型) 在指定日期上对某个字段增加字符串函数
CHARSET(字符串) 返回字符串字符集
CONCAT(字符串1[, 字符串2]... ) 连接字符串
INSTR(字符串, 子字符串) 查找子字符串出现位置, 注意序号从1开始
UCASE(字符串) 将字符串转为大写
LCASE(字符串) 将字符串转为小写
LEFT(字符串, 长度) 从字符串左边取指定长度个字符
LENGTH(字符串) 计算字符串长度
REPLACE(字符串, 搜索字符串, 替换字符串) 将字符串中指定字符串替换为其他字符串
STRCMP(字符串1, 字符串2) 逐个字符比较两个字符串, 如果是包含关系, 则返回长度差值
SUBSTRING(字符串, 开始坐标[, 个数]) 从字符串中截取
LTRIM(字符串) 去掉左边空白
RTRIM(字符串) 去掉右边空白
TRIM(字符串) 去掉左右两边空白
数学函数
ABS(数字) 求绝对值
BIN(十进制数) 将十进制转换为二进制
HEX(十进制数) 将十进制转换为十六进制
CONV(数字, 原进制, 目标进制) 转换进制
CEILING(小数) 向上取整
FLOOR(小数) 向下取整
ROUND(小数) 四舍五入
FORMAT(小数, 保留位数) 保留小数位
LEAST(值,值[,值]...) 取最小值
GREATEST(值,值[,值]...) 取最大值
MOD(数字, 数字) 取余
RAND() 生成随机数, 14位小数, 0 <= n <= 1
约数
unique约束的字段在整张表中唯一, 不可重复, 不包括多个NULL
alter table test drop index name;
alter table test change name name varchar(20) unique;
primary key用来标识一个字段, 这个字段是非空且唯一的.
foreign key约束某一列的值是参照另外一列
alter table wife drop foreign key husband_id_fk;
alter table wife add constraint husband_id_fk foreign key(husband_id) references husband(id)