mysql常用语句,增删改查,五十多种常用sql语句的格式。

来源:互联网 发布:蓝牙gps连接软件 编辑:程序博客网 时间:2024/06/07 22:14

创建数据库:

create database 数据库名称 [character set字符集collate字符集校对规则];

查看所有数据库:

show databases;

查看某个数据库在定义时的信息:

show create database 数据库名称;

修改数据库:

alter database 数据库名称 character set字符集collate校对规则;

删除数据库:

drop database 数据库名称;

切换数据库:

use 数据库名称;

查看当前正在使用的数据库:

select database();

创建表:

create table 表名称(字段名称 字段类型(长度) 约束,字段名称 字段类型(长度) 约束);

查看数据库下所有的表

show tables;

查看某个表的结构信息

desc 表名称;

删除表:

drop table 表名称;

修改表

添加列:

alter table 表名 add列名 类型(长度)约束;

删除列

alter table 表名 drop列名;

修改列名称

alter table 表名 change旧列名 新列名 类型(长度) 约束;

修改表名;

rename table 表名 to新的表名;

修改表的字符集

alter table 表名 character set字符集;

 

添加表的()记录

向表的某些列添加内容:

insert into 表名 (列名1,类名2,类名3...) values(1,值2,值3...)

向表的所有列添加内容

insert into 表名 values(值1,值2,值3....);

   查看表的所有记录(内容信息)

select * from 表名;

修改表的(列)记录

修改某一列的所有的值:

update 表名 set age ='20';

按条件修改数据:

update 表名 set age ='18' where username ='zhang';

按条件修改多列;

update 表名 set age = '15',birthday='1000-23-2' where name ='王’;

删除表的记录

delete from 表名 [where条件];

删除一条记录

delete from 表名 where id ='2';

删除表中所有的记录

delete from 表名;

truncate table 表名;

查询表的记录

基本查询;

查询所有信息

select * from 表名;

查询指定的信息列

select name,age from 表名;

查询时不显示重复的值

select distinct age from 表名;

查看所有人的姓名和数的和

select naem,id+age from 表名;

产看所有人的姓名和数的和并 改变名字(as可以省略不写)

select name,id+age as sun from 表名;

条件查询

使用wherr语句

查询单要求信息;

select * from 表名 where name='';

多个条件查询(多个条件之间用and连接)

select * from 表名 where age='28' and name='zhang6' ;

模糊查询:* like 'tiaojian';

查询姓zhang的信息

select * from 表名 where name like 'zhang%';

范围查询:in(1,值2,值3...)

select * from 表名 where age in5,20;

排序查询;order by  

查询信息按年龄排序(默认是升序asc)

select * from 表名 order by age;

查询信息 并按年龄倒序排序(倒叙desc

select * from 表名 order by age desc

查询信息 并按年龄倒叙排序,如果年龄相同,按照再id倒叙排序(多个条件逗号隔开)

select * from biao order by age1 desc,id desc;

多个条件查询,模糊查询在前

select * from biao where name like 'zhang%' order by age1 desc;

分组统计查询;

获取所有人的年龄和

select sum(age1) from biao;

获取所有人 id和年龄和

select sum(age1+id) from biao;

select sum(age1),sum(id) from biao;

获取姓张的人的年龄的和(分组统计放在前 然后是like模糊查询)

select sum(age1) from biao where name like 'zhang%';

count()计数

获取姓zhang的人的总数

select count*from exam where name like 'zhang%';

umin();

l获得语文成绩的最小值

select min(chinese) from exam;

uavg();

l获取语文成绩的平均值

select avg(chinese) from exam;

 

 

分组查使用group by 字段 根据属性 求总人数

select age1,count (*) form 表名 group by age1;

根据年龄属性 id的和

select age,sum(id) from 表名 froup by age;

 

where 的子句后面不能跟着聚合函数,如果现在使用带有聚合函数的条件过滤(分组条件过滤)需要使

 

having 关键字

名字统计年龄    并且年龄总和大于50的人

select name,sum(age) from biao group by name having sum(price) >50;

按照名字 统计年龄并且年龄总和大于50的人,并把结果按照降序排列;

select name,sum(age) from biao group by name having sum(age) >50 order by sum(age) desc;询::::

原创粉丝点击