库
进
○ USE name 查 ○ show databases name
增
○ CREATE DATABASE[IF NOT EXISTS] name
[ ]中的内容是可选的 IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目 前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错 误。
删
○ 删除指定:DROP DATABASE[IF EXISTS] name
IF EXISTS 是该语句的可选部分,以防止您删除数据库服务器中不存在的数据库时发 生错误。
○ 全部删除:SHOW DATABASES
表
建
-
- CREATE TABLE from_name(name type (number) )
例:简单创建 create table students(id INT (8), name varchar (6) , age INT (3) ) 修饰: 例:create table students( id INT (8) UNSIGNED AUTO_INCREMENT(设置主键) COMMENT '学生id' (comment 备注), name varchar (6) NOT NULL (不允许为空), age INT (3) , RPIMART KEY ('id') ) 注:创建 MySql 的表时,表名和字段名外面的符号 ` 不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键 - 查看表的结构
- describe form_name
- 字段
- 增
- alter table from_name add 字段 类型 其他
例: alter table students add `bj` va rchar(6) comment '班级'
- alter table from_name add 字段 类型 其他
- 删
- alter table from_name drop column 字段
例: alter table students drop column `bj`
- alter table from_name drop column 字段
- 改
- alter table fro_name modify 字段 其他
例: alter table from_name modify type (long) 其他
- alter table fro_name modify 字段 其他
- 增
- CREATE TABLE from_name(name type (number) )
增
-
- inset into from_name values(插入的数据必须和数据表字段一一对应),(values)
例:表名:students inset into students values( 1,'张三','23' )
- inset into from_name values(插入的数据必须和数据表字段一一对应),(values)
删
-
- delete from from_name where 字段+条件
改
-
- updata form_name set 字段+条件 where 筛选
查
-
- 所有字段
- select * from form_name
- 指定字段
- select 字段 from form_name
- 常数查询
- select 字段, 常数 from form_name
- 算术运算
- select 字段(int)+number from forn_name
- 使用聚合函数
- select sum(字段) from form_name
计算指定列的数值和,如果指定列类型不是数值类型则计算结果为0 - select avg(字段) from form_name
计算指定列的平均值,如果指定列类型不是数值类型则计算结果为0 - select max(字段) from form_name
计算指定列的最大值,如果指定列是字符串类型则使用字符串排序运算 - select min(字段) from form_name
计算指定列的最小值,如果指定列是字符串类型则使用字符串排序运算 - select count((字段) from form_name
统计表中数据的行数或者统计指定列其值不为NULL的数据个数
- select sum(字段) from form_name
- 条件查询
- select * from form_name where 条件
> 大于 < 小于 <> 不等于 != 不等于 = 等于 <= 小于等于 >= 大于等于 or 或 and 而且 is null 内容为空 is not null 内容不为空 like 模糊查询 in 判断某个字段是否存在给定的元组中 between...and... 判断范围- 关系运算符查询
- select *from form_name where 字段<23
- in 关键字查询·
- select *from form_name where 字段 in (20,25)
N关键字用于判断某个字段的值是否在指定集合中。如果字段的值恰好在指定的集合中,则将字段所在的记录将査询出来。 查询stuid为18和20的学生信息 MySQL命令:
- select *from form_name where 字段 in (20,25)
- between and
- select * from form_name where 字段 batween 20 and 25
BETWEEN AND用于判断某个字段的值是否在指定的范围之内。如果字段的值在指定范围内,则将所在的记录将查询出来 查询10到18岁的学生信息 MySQL命令:
- select * from form_name where 字段 batween 20 and 25
- 空值查询
- select * from form_name where 字段 is null
- like 模糊查询
- select * from form_name where 字段 like "r%"
%用于匹配任意长度的字符串。例如,字符串“a%”匹配以字符a开始任意长度的字符串 _用于匹配一个任意的字符串。列入,字符串"ab_"匹配"ab"开始长度为3的字符串,如abc、abp等等..
- select * from form_name where 字段 like "r%"
- group by
- select count(字段1) ,字段1 from form_name group by 字段1
统计字段1 各分类数量
- select count(字段1) ,字段1 from form_name group by 字段1
- order by 查询结果进行排序
- select 字段 from form_name order by 字段
- distinct去除重复的字段
- select distinct 字段1 from form_name order by 字段1
去除重复的年龄[每个年龄只显示一条记录] MySQL命令格式
- select distinct 字段1 from form_name order by 字段1
- 关系运算符查询
- select * from form_name where 条件
- 多表查询
- 交叉查询
- select * from form1,form2
由于这个交叉连接查询在实际运用中没有任何意义,所以只做为了解即可
- select * from form1,form2
- 内链接查询
- select * from form1,form2 where form1.字段 = form2.字段
内连接使用比较运算符对两个表中的数据进行比较并列出与连接条件匹配的数据行,组合成新的 记录。也就是说在内连接查询中只有满足条件的记录才能出现在查询结果中。
- select * from form1,form2 where form1.字段 = form2.字段
- 外连接查询
- select * from form1 left join form2 on 条件
LEFT JOIN 左(外)连接:返回包括左表中的所有记录和右表中符合连接条件的记录。 RIGHT JOIN 右(外)连接:返回包括右表中的所有记录和左表中符合连接条件的记录。 关键字左边的表被称为左表,关键字右边的表被称为右表.
- select * from form1 left join form2 on 条件
- 子查询
对于MySQL,不推荐使用子查询,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。- select 字段 from form where age<(select avg(age) from students);
查询所有年龄小于平均年龄的学生 MySQL:
- select 字段 from form where age<(select avg(age) from students);
- 交叉查询
- 所有字段