mysql结构化查询语言

来源:互联网 发布:chromium for linux 编辑:程序博客网 时间:2024/05/17 22:57

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在分组之后应用且可以包含聚合函数)



 

 

 

 

原创粉丝点击