sql 语句
sql语句
1.DDL DML DQL DCL(用的比较少!!)
对数据库的操作:
create database 名称;
show databases;
show create database 数据库名称 (查看编码等信息)
drop database 数据库名称
对表的操作:
增加:
create table student(
stuId int primary key auto_increment,
stuName varchar(20) not null,
stuAge varcahr(20)
);
删除:
drop table 表名称;
show tables;显示制定的库中的所有的表
desc 表名称:显示表的结构
修改:
alter table student
后面可以接
drop 表中的某一列 删除表中的某一列
change 旧的列名称 新的列名称 修改表中的某一列的名称
modify 重新定义的某一列 重新定义某一列
rename to 新的表名称 重新定义表名称
add 列名 +属性 重新增加一列
对记录操作
insert into student(stuId,stuName,stuAge)values(null,'dahai','18');
delete from student where 条件
select * from student where 条件
update student set stuName='xiaobai' where stuId=2;
单表查询的操作:
简单的查询 select * from 表名称;
指定查询某一列: select 列名称,... from 表名称
聚合函数联合查询一起,通过函数操作以后然后查询出来
count() 查询多少列
sum() 求和
max()最大值
min()最小值
avg() 求平均值
排序:例如 select * from student order by age ;
select * frome student order by age desc;
分组查询,
例如:查询每一种商品的总价大于30的商品,并显示总价
select product,sum(price) from orders group by products having sum(price)>30;
解析:按照商品进行分组,然后把这个商品的总价格大于30的商品和和这个总价格查询出来。
注意:where和having的区别:
1.在sql语句中的where后面是不容许添加聚合函数的,添加上去就会报错,所以就用having来
解决问题,可以使用having来过滤,所以在sql语句中,如果分组以后,还需要一些条件来
可以使用having来表示条件,在having后面可以使用聚合函数,其他的和where都差不多!
2.where后面跟的条件having都是可以的,而且having还可以跟聚合函数,但是有一点要注意
having单独使用的时候,后面跟的条件在查询字段中必须全部包含
例如:select gender from student having age>30; 这样是错误的,必须是
前面的查询字段包含后面的条件字段,例如:select gender,age from student having age>30;
这样就可以了!!
数据库的手动备份:
输入以下命令: mysqldump -uroot -p test>e:a.sql
然后输入密码即可!!
这样就是把数据库中test库备份到本地的e盘中了。
恢复数据:
首先在数据库中新建一个数据库
然后输入以下命令:
mysql -uroot -p 导入库名 <磁盘中sql文件路径
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。