插入默认值
create table d (id int default 0)
从一个表向另外一个表中复制行
insert into tbale1 (col1,col2) select col3,col4 from tbale2 where 条件
复制表定义
create table tablename as select * from table1 where 1=0
阻止对某几列插入
使用视图
当相应的行存在是更新
mysql>INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
REPLACE的语法和INSERT非常的相似,如下面的REPLACE语句是插入或更新一条记录。
REPLACE INTO users (id,name,age) VALUES(123, '赵本山', 50);
插入多条记录:
REPLACE INTO users(id, name, age)
VALUES(123, '赵本山', 50), (134,'Mary',15);
REPLACE也可以使用SET语句
REPLACE INTO users SET id = 123, name = '赵本山', age = 50;
substr()函数:切割
length()函数:计算字符串长度
LPAD(str,len,padstr)
mysql> SELECT LPAD('hi',4,'??'); -> '??hi'
mysql> SELECT RPAD('hi',5,'?'); -> 'hi???'
regexp '[^0-9a-zA-Z
concat()函数
功能:将多个字符串连接成一个字符串。
语法:concat(str1, str2,...)]'
group_concat
E4:95:6E:4E:13:25和E4:95:6E:4E:13:41和E4:95:6E:4E:13:31是测试成功的
ascii函数
interval 日期关键字
last_day
date_add
row_number()
mod()
SELECT e.ename,e.sal,COALESCE(
(SELECT min(sal) from emp d WHERE d.sal > e.sal),
(SELECT min(sal) from emp)
) as forward,
COALESCE((SELECT max(sal) from emp d WHERE d.sal < e.sal),
(SELECT max(sal) from emp)
) as rewind
from emp e
SELECT (SELECT count(DISTINCT b.sal) from emp b
where b.sal <=a.sal) as rnk,a.sal from emp a ORDER BY 1
列转行
case when end