对数据库的操作
1.创建一个数据库
create database xxx;
2.创建一个带有字符集的数据库
create database xxx charactor set utf8 collate xxx;
3.查看所有的数据库
show databases
4.查看某个数据库的定义的信息
show create darabase xxx;
5.查看正在使用的数据库
show database();
6.删除数据库
dropdatabase xxx;
7.修改数据库的基本信息
alter database xxx charactor set 新的字符集 collate xxxx;
8.切换数据库
use database;
对数据库中表的操作
9.查看数据库中有哪些表
show tables;
10.查看表的结构
desc 表明
10.1修改表名
rename table xxx newTableName to oldTableName
11.修改表添加列
alter(改变) table 表名 add 列名 类型 约束
11.1修改表的列名
alter(改变) table 表名 change 旧的列名 新的列名 类型 约束
12修改表的类型和长度,约束
alter table xxx modity 列名 类型 约束
操作表中的记录
1.插入记录到数据库
insert into xxx (列名1, 列名2,......) values (值1,值2......); 指定列的值
2.插入所有列的值
insert into xxx values(值1,值2....);插入所有列的值
ex; insert into xxx (id,name,age) values(null,’ddd’ ,34);
3.修改记录
update xxx set 列名=值 ,列名=值 where 条件;
4.删除记录
delete from xxx where 条件;
ex; delete from employee where id = 8 ;
5.删除表中的所有的记录;
truncate table ; 特点 将整个表删除掉,在重新创建一个新的表
delete from ;特点删除表的记录,是一条一条的删除
6.分组
select product , count(*) from orderitem group by product;
select product ,sun(price) from orderitem group by product;
select product ,sun(price) from orderitem group by priduct having sun(price )>2000;
select product ,sun(price ) from orderitem where product like ‘电%’ group by product having sun(price) >1500 order by sun(price) desc;
使用 sql 完成多表的查询
多表查询:外键约束
alter table orders add foreign key (cid ) references customer(cid);
多表查询的方式
1.交叉查询
select * from a,b;
2.内连接
显示内连接
select *from A a inner join B b ON c.id = b.id;
隐身内连接
select * from A a , B b where a.id = b.id;
3.外链接
左外链接
select * from A a LEFT OUTER JOIN B b ON a.id=b.id;
多表查询的子查询
一个 sql 语句的查询过程需要依赖另一个查询语句
select *from customer c , orders o where c.cid= o .cid and c.cid in(
select cid from orders where addr like ‘海淀%’
); |
|