数据库 ---(3)SQL的使用语句
(1)基本概念
Structure Query Language 定义操作所有关系型的数据库的规则。每一种数据库操作的存在不一样的地方,我们称之为方言。
(2) 操作数据库
-
注释
多行注释----- # -
操作数据库
1. 创建-----create database 数据库名称;
例子:create database if not exists db1;
2. 查询-----show databases;
例子:show create database 数据库名称
3. 更新-----alter database 数据库名称 character ser utf8;
例子:alter database 数据库名称 character ser utf8;
4. 删除-----drop database 数据库名称;
例子:drop database db1;
5. 使用数据库-----use 数据库名称;
查看正在使用的数据库-------select database();
例子: use db1;
(3)操作数据库的表
- 操作数据库的表
1. 创建
- 数据库的数据类型
int ,float,double(5,2)(一共几位,保留几位小数),date(日期) ,datetime,timestamp时间戳, 字符串varchar(225)
例子:
create table student(name varchar(20), age int, scores double(5,2),id int,birthday date,time timestamp);
2. 查询----show tables;
查看表的结构----desc 表名;
3. 修改
修改表名----------alter table 表名 rename to 新的表名;
修改字符集-------alter table 表名 character set utf8;
增加列-------------alter table 表名 add 列名 类型;
修改列名----------alter table 表名 change 原来列名 新列明 数据类型;
删除列明----------alter table 表名 drop 列名;
4. 删除--------drop table 表名称;
(4.1) 操作数据库的表的数据记录
- 查询数据记录--------select * from 表名;
1. select 字段列表 from 表名 where group by 分组 having tiaojian orderby 排序 limit 限定
去除重复-------distinct
select distinct age from student;
select * from student where name like " ma %";
%:代表多个字符
_:代表一个字符
排序查找:order by 排序字段 排序方式(asc 升序desc降序);
例子: select * from student order by math asc/desc;
2. 聚合函数----将一列的数据纵向计算 ,排除非空的 主键
min,max,sum,avg,sum,count(列明)
3. group by
select sex count(id) from student where math>70 group by sex having count(id)>2;
注意
分组之后查询字段,聚合函数和分组字段
having可以加聚合函数,where 不可以
4. 多表查询
select * from emp,dept where emp.id=dept.id;
显示内连接: select * from emp inner join dept on emp.dept_id=dept.id;
左外连接: select * from emp t1 left join dept t2 on tiaojian
(左表所有数据以及右表的交集,emp为左表)
右外连接: select * from emp t1 right join dept t2 on 条件
(dep为右表,右表所有数据)
5. 添加
insert into 表名 ( 列,,,) values( );
6. 删除
delete from 表名 where 条件
truncate table 表名 where ;
7. 修改
update 表名 set 列名 = 值1,列2 = 值2 where 条件;