目录
创建表格的注意项:
not null 字段不允许为空(如果操作时输入该字段为null,就会报错)
auto_increment定义为自增的属性,一般用于主键,数值会自动加1
primary key关键字用于定义列为主键,可以使用多列来定义主键,列间以逗号分隔。
engine设置存储引擎,charset 设置编码
修改表:
使用alter table语句追加,修改,删除:
alter table table ADD (column datatype [default expr] [, column datatype]...);
alter table table modify (column datatype [default expr] [, column datatype]...);
alter table table drop (colunm);
修改表的名称:rename table 表名 to 新表名;
修改列的名称:alter table change [column] old_col_name column_definition;
修改表的字符集:alter table student character set utf8;
INSERT语句向表中插入数据
insert into table [(colunm [, column...])]
values (value [, value...]);
注意:
1、插入的数据应与字段数据类型相同
2、数据的大小应在列的规定范围内
3、在values中列出的数据位置必须与被加入的列的排列位置相对应。
4、字符和日期型数据应包含在单引号中。
查询数据
select column_name,column_name from table_name [WHERE Clause] [LIMTN] [OFFSETM]
where子句从数据表中读取数据的通用语法:
between...and...显示在某一区间的值
in(set) 显示在in列表中的值 列:in(100,200)
like'张_' 模糊查询 使用%和_
is null 判断是否为空
使用update语句修改表中数据
update tbl_name set col_name1=expr1 [, col_name=expr2 ...] [where where_definition]
使用delete语句删除表中数据
delete from tbl_name [where where_definition]
注意:
1、如果不使用where子句,将删除表中的所有数据。
2、Delete语句不能删除某一列的值(可使用update)
3、使用delete语句仅删除记录,不删除表本身,如要删除表,使用drop table语句
4、删除表中数据也可以使用truncate table
基本select语句
select [distinct] {column1, column2,column3..} fromtable;
注意:
1、select指定查询那些列的数据
2、column指定列名
3、*号代表查询所有列
4、from指定查询哪张表
5、distinct可选,指显示结果时,是否剔除重复数据
count(列名)返回某一列,行的总数
select count (*)|count(列名) from tablename [where where_definition]
Sum函数返回满足where条件的行的和
select sum(列名) {,sum(列名)...} from tablename [where where_definition]
注意:sum仅对数值起作用,否则会报错。
avg函数返回满足where条件的一列平均值
select sum(列名) {,sum(列名)...} from tablename [where where_definition]
max/min 函数返回满足where条件的一列的最大/最小值
select max(列名) from tablename [where where_definition]
concat字符串函数 :可以对查询结果进行拼接
select concat(列名)+ "!" from tablename [where where_definition]
日期函数:
获得当前时间函数:
select current_timestamp,current_timestamp();
(日期转换为字符串)函数:
date_format(date,format)
(字符串转换为日期)函数:
str_to_date(str,format)
str_to_date(date,'%Y-%m-%d')
(日期相减函数:)
datediff(date1,date2)
(函数向日期添加指定的时间间隔):
DATE_ADD
round() 取小数点位数
floor() 向下取整
rand() 随机
having字句
代表筛选,可以对查询结果进行查询
limit语法
limit m,n
两种用法:
limit m:从查询结果中挑选前面的m条数据
limit m,n:从第m条开始取,取n条数据
用途:大数据中通常用于对返回的数据进行限制,防止大量数据传入client端造成假死。
前端开发用来做分页查询。
if语句
语法:if(boolean testCondition. T valueTrue,T valueFalseOrNull)
返回值:T
说明:当条件testCondition为true时,返回valueTrue;否则返回valueFalseOrNull
条件判断函数:CASE when
语法:CASE WHEN a THEN b [WHEN c then d]*[else e] end
返回值T
说明:如果a为TURE,则返回b,如果c为ture则返回d。
排序:
使用order by子句排序查询结果
select column1,column2,column3...fromtable;order by column asc|desc
order by 指定排序的列,排序的列即可是表中的列名,也可以是select
-group by
group by 从字面意义上理解就是根据“by”指定的规则对数据进行分组,所谓分组就是将一个“数据集”划分成若干个“小区域”进行数据处理。
备份导出:
mysqldump -u用户名 -p密码 数据库名字 表名字 > data.sql
恢复导入:
cd 到数据文件路径下
mysql -u用户名 -p密码
use 数据库
source data.sql