Mysql具有多种村塾引擎的类型
其中mylsqm不需事物,空间小,以查询访问为主
Lnndb则是多删除,更新操作,安全性高
设置表的存储类型的语法是
Create table 表名(
表内容
)enging=存储类型
插入单挑数据记录语法:
Insert into 表名 (字段名列表)values (值列表);
n 字段名是可选的,如省略则依次插入所有字段
n 多个列表和多个值之间使用逗号分隔
n 值列表和字段名列表一一对应
n 如插入的是表中部分数据,字段名列表必填
插入多条则是在值列表后面继续写
将查询结果插入新的表里:
Create table 表名(
Select 数据名
From 新表
)
如果新表的名字已经存在,那么系统将会报错
更新数据记录:
Update 表名
Set 字段1=值1,字段2=值2,……
【where条件】
删除数据记录:
Delete from 表名【where条件】
查询全部行和列:
Select *from `表名`;
查询部分行和列:
Select `字段名`,`字段名`,`字段名`
From `表名`
Where 条件
As可以命名列
基本函数:
常用的函数:
函数名 | 作用 |
AVG() | 返回某字段的平均值 |
COUNT() | 返回某字段的行数 |
MAX() | 返回某字段的最大值 |
MIN() | 返回某字段的最小值 |
SUM() | 返回某字段的和 |
函数名 | 作 用 | 举 例 |
CONCAT(str1, str1...strn) | 字符串连接 | SELECT CONCAT('My','S','QL'); 返回:MySQL |
INSERT(str, pos,len, newstr) | 字符串替换 | SELECT INSERT( '这是SQL Server数据库', 3,10,'MySQL'); 返回:这是MySQL数据库 |
LOWER(str) | 将字符串转为小写 | SELECT LOWER('MySQL'); 返回:mysql |
UPPER(str) | 将字符串转为大写 | SELECT UPPER('MySQL'); 返回:MYSQL |
SUBSTRING (str,num,len) | 字符串截取 | SELECT SUBSTRING( 'JavaMySQLOracle',5,5); 返回:MySQL |
函数名 | 作用 | 举例(结果与当前时间有关) |
CURDATE() | 获取当前日期 | SELECT CURDATE(); 返回:2016-08-08 |
CURTIME() | 获取当前时间 | SELECT CURTIME(); 返回:19:19:26 |
NOW() | 获取当前日期和时间 | SELECT NOW(); 返回:2016-08-08 19:19:26 |
WEEK(date) | 返回日期date为一年中的第几周 | SELECT WEEK(NOW()); 返回:26 |
YEAR(date) | 返回日期date的年份 | SELECT YEAR(NOW()); 返回:2016 |
HOUR(time) | 返回时间time的小时值 | SELECT HOUR(NOW()); 返回:9 |
MINUTE(time) | 返回时间time的分钟值 | SELECT MINUTE(NOW()); 返回:43 |
DATEDIFF(date1,date2) | 返回日期参数date1和date2之间相隔的天数 | SELECT DATEDIFF(NOW(), '2008-8-8'); 返回:2881 |
ADDDATE(date,n) | 计算日期参数date加上n天后的日期 | SELECT ADDDATE(NOW(),5); 返回:2016-09-02 09:37:07 |
函数名 | 作 用 | 举 例 |
CEIL(x) | 返回大于或等于数值x的最小整数 | SELECT CEIL(2.3) 返回:3 |
FLOOR(x) | 返回小于或等于数值x的最大整数 | SELECT FLOOR(2.3) 返回:2 |
RAND() | 返回0~1间的随机数 | SELECT RAND() 返回:0.5525468583708134 |