show databases
show engines
set table_type=InnoDB
show variables like ‘character%’ 查看字符集
show variables like ‘collation%’ 查看当前的字符集
create database database_name;创建
use database_name;使用
drop database database_name;删除
create table table_name(
column_name1 数据类型 [约束条件],
column_name2 数据类型 [约束条件],
…
column_namen 数据类型 [约束条件],
);创建表格
数据类型 int,decimal(size,d),char(size),varchar(size),text,data,datatime
附加属性
NULL,auto_increment
primary key 主键
unique
constraint yueshuming foreign key(wai_key) referencestable_name(wai_key)
show tables;
describe table_name;查看表结构
show create table table_name; 表的创建语句查看
drop table table_name;删除(只有删除父表与子表的外键约束关系,才可以成功的删除父表)
插入表中数据
insert into table_name (column_name1,column_name2)values(‘…’,’…’);
查询
slect * from table_name;
修改
update table_name set column_name=new_value[,next_column=new_value2..][where条件表达式]
删除
delete from table_name [where 条件表达式]
查询操作
slect 字段列表 from 数据源 [where 条件过滤] [group by 分组表达式][having 分组过滤条件][order by 排序表达式[asc|desc]];
*(全部字段)
表名.*(某个表的全部字段)
Mysql的两个关键谓词
distinct(过滤掉重复信息)
select distinct 列名
limit(查询某几行记录)
select 字段列表 from 数据源 limit [start,] [length]
内连接(inner join)将两个表中满足制定连接条件的记录连接成新的记录集,舍弃不满足连接条件的记录
from 表1[innert]join表2 on <表1和表2间条件表达式>
外连接(outer join)
左连接(left join)表示取表A的全部记录按指定的连接条件与表B中满足条件的记录连接,若表B中无,则表A中相应的字段填入NULL
from 表1 left join 表2 on <表1和表2间条件表达式>
右连接(right join)表示取表B的全部记录按指定的连接条件与表A中满足条件的记录连接,若表A中无,则表B中相应的字段填入NULL
from 表1 right join表2 on <表1和表2间条件表达式>
where<过滤条件>
between… and…;
in(…,…);
is NULL;
like ,not like %(匹配任意个字符) _(匹配单个字符)
order by {<排序表达式1>[asc|desc]}[,..[<排序表达式n]>[asc|desc]]
<排序表达式>制定排序依据,可是字段名或字段名在字段列表中的位置
聚合函数返回汇总值(max,avg,count,sum,min)
例如:select sum(grade) from score where couse_id=1;
having子句与group by通常一起使用,与where的区别是(where在分组操作前应用,having在分组之后应用且可以包含聚合函数)