MySQL(一)

2018-10-23  本文已影响0人  w_wm_m

常用

1.创建数据库

create database dbname charset=utf8;

2.显示所有的数据库

show databases;

3.选择要使用的数据库

use dbname;

4.删除一个数据库

drop database dbname;

5.显示当前数据库中所有的表

show tables;

6.创建表

create table students(
id int auto_increment primary key not null,
name varchar(10) not null,
gender bit default 1,
birthday datetime,
isdelete bit default 0);

对于MySQL来说默认的搜索引擎为InnoDB,字符编码方式默认为数据库的字符编码

7.查看表结构

desc tablename;

8.修改表结构

alter table tablename add/change/drop 字段名 类型;

9.删除表

drop table tablename;

10.重命名表

rename table 原表名 to 新表名;

11.显示如何创建表的语句

show create table tablename;

插入数据

1.全列插入

insert into tablename  values(...);

2.缺省加入

insert into tablename (字段1,字段2,字段3) values(值1,值2,值3);

3.同时插入多条数据

insert into tablename values(...),(...)....;//全列
insert into tablename (字段1,字段2,字段3) values (值1,值2,值3)
,(值1,值2,值3)...  //缺省

修改(更新)数据

update tablename 某字段=某值,... where 条件;

删除数据

delete from students where id=5;

查询数据

1.基本查询

select * from tablename where id > 5;//查询id大于5的所有信息
select id,name from tablename where id > 5;//查询id大于5,并将其id和name进行展示

2.distinct

select distinct gender from students;//将得到的结果集去掉重复的
select distinct gender,id from students;//组合不重复即可

3.模糊查询

select * from students where name like "黄%";//查询姓黄的学生的所有信息

like关键字【%表示一个或多个任意字符,_表示一个任意字符】

4.范围查询

select * from students where id in (1,3,8);//不连续
select * from students where id between 3 and 8;//连续

5.判空

select * from students where birthday is null;//birthday字段为空的所有信息,is not null不为空

6.聚合函数
count():表示计算总行数,括号内写字段名,即列名,但是对于同一表来说结果相同,所有一般使用代替,count()。
max(列):求此列的最大值。
min(列):求此列的最小值。
sum(列):求此列的和。
avg(列):求此列的平均值。

select count(*) from students where isdelete=0;

7.分组

select gender,count(*) from students group by gender;//将表中的student以gender分组并统计数量。

8.筛选

select gender,count(*) as rs from students group by gender having rs>2;//将结果集中的count()记为rs,并筛选出rs大于2的。

having与where:

where与having.png

简言之就是,where与having所筛选的数据集不同,where是对原始集进行筛选,而having是对分组之后的结果集进行筛选。

9.排序

select * from students order by id desc;//以id降序排列展示student的所有信息

默认以升序排列,升序关键字(asc),降序关键字(desc)。

10.分页

select * from students limit start,n;//从第start条数据开始查询n条所有学生的信息

总结

select distinct 列名
from 表名
where 条件
group by 列名 having...
order by 列名
limit start,n;
上一篇下一篇

猜你喜欢

热点阅读