一眉睹、對(duì)數(shù)據(jù)庫(kù)的操作
創(chuàng)建庫(kù)
1刹碾、CREATE DATABASE db;--創(chuàng)建數(shù)據(jù)庫(kù)db
2指么、SHOW DATABASES;--顯示數(shù)據(jù)庫(kù)
3叔壤、SHOW CREATE DATABASE db; --查看數(shù)據(jù)庫(kù)db的編碼
刪除一個(gè)庫(kù)
1繁堡、drop database db
使用庫(kù)
use db
查看當(dāng)前正在操作的庫(kù)
select database()
二沈善、對(duì)數(shù)據(jù)庫(kù)表的操作
1、創(chuàng)建一張表
create table user(
uid int(32) primary key auto_increment,
uname varchar(32),
upassword varchar(32)
);
2椭蹄、查看數(shù)據(jù)庫(kù)表
show tables;
查看表的結(jié)構(gòu)(設(shè)計(jì)表)
desc user;
3闻牡、刪除一張表
drop table user;
4、修改表
alter table 表名 add 字段名 類(lèi)型(長(zhǎng)度) [約束]
alter table user add uinfo varchar(32) not null;--添加一列
alter table 表名 modify 要修改的字段名 類(lèi)型(長(zhǎng)度) [約束]
alter table user modify uinfo varchar(100) null;--修改列的類(lèi)型(長(zhǎng)度绳矩、約束)
alter table 表名 change 舊列名 新列名 類(lèi)型(長(zhǎng)度) [約束]
alter table user change uinfo info varchar(32) not null;--修改列的列名
alter table 表名 drop 列名
alter table user drop info;--刪除表的列
rename table 表名 to 新表名
rename table user to tbl_user;--修改表名
alter table 表名 character set 編碼
三罩润、對(duì)數(shù)據(jù)庫(kù)表記錄進(jìn)行操作(修改)
1、insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)
insert into tbl_user(uid,uname,upassword) values(null,'zhang','123');--插入記錄
insert into 表名 values(值1,值2,值3……)
insert into tbl_user values(null,'liu','456');
2翼馆、修改表記錄
2.1不帶條件的
update 表名 set 字段名=值, 字段名=值, 字段名=值……
2.2 帶條件的
update 表名 set字段名=值, 字段名=值, 字段名=值…… where 條件
update tbl_user set upassword='999' where uid=1;
3.刪除表記錄
3.1 帶條件的
delete from 表名 where 條件
delete from tbl_user where uid=1; --刪除后割以,uid不會(huì)重置!
3.2.不帶條件的
先準(zhǔn)備數(shù)據(jù)
insert into tbl_user values(null,’老王’,’666’);
刪除操作
delete from 表名;
4.查詢(xún)操作
語(yǔ)法:
select [distinct] *| 列名应媚,列名 from 表名 [where條件]
4.1 簡(jiǎn)單查詢(xún)
1.查詢(xún)所有商品
select * from product严沥;
2. 查詢(xún)商品名和商品價(jià)格
select pname,price from product;
3.查詢(xún)所有商品信息使用表別名
select * from product as p;
4.查詢(xún)商品名,使用列別名
select pname as p from product
5.去掉重復(fù)值(按照價(jià)格)
select distinct(price) from product;
6.將所有的商品的價(jià)格+10進(jìn)行顯示
select pname,price+10 from product;
4.2 條件查詢(xún)
1.查詢(xún)商品名稱(chēng)為"左慈"的商品信息
select * from product where pname='左慈';
2.查詢(xún)價(jià)格>60元的所有商品信息
select * from product where price>60;
3.查詢(xún)商品名稱(chēng)含有"士"字的商品信息
select * from product where pname like '%士%'中姜;
4.查詢(xún)商品id在(3,6,9)范圍內(nèi)的所有商品信息
select * from product where pid in (3,6,9);
5.查詢(xún)商品名稱(chēng)含有"士"字并且id為6的商品信息
select * from product where pname like '%士%' and pid=6;
6.查詢(xún)id為2或者6的商品信息
select * from product where pid=2 or pid=6;
4.3 排序
1.查詢(xún)所有的商品消玄,按價(jià)格進(jìn)行排序(升序、降序)
select * from product order by price asc/desc;
2.查詢(xún)名稱(chēng)有"士"的商品信息并且按照價(jià)格降序排序
select * from product where pname like '%士% order by price desc;
4.4 聚合函數(shù)
1.獲得所有商品的價(jià)格的總和
select sum(price) from product;
2.獲得所有商品的平均價(jià)格
select avg(price) from product;
3.獲得所有商品的個(gè)數(shù)
select count(*) from product;
4.5 分組操作
1.添加分類(lèi)id (alter table product add cid varchar(32);)
2.初始化數(shù)據(jù)
update product set cid='1';
update product set cid='2' where pid in (5,6,7);
1.根據(jù)cid字段分組,分組后統(tǒng)計(jì)商品的個(gè)數(shù)
select cid,count(*) from product group by cid;
2.根據(jù)cid分組翩瓜,分組統(tǒng)計(jì)每組商品的平均價(jià)格受扳,并且平均價(jià)格大于20000元。
select cid,avg(price) from product group by cid having avg(price)>20000;
4.6 查詢(xún)總結(jié)
select 一般在的后面的內(nèi)容都是要查詢(xún)的字段
from 要查詢(xún)到表
where
group by
having 分組后帶有條件只能使用having
order by 它必須放到最后面
多表查詢(xún)
SELECT * FROM category,product WHERE cid = category_id;
SELECT * FROM category c ,product p WHERE c.cid = p.category_id;
SELECT cname FROM category c ,product p WHERE c.cid = p.category_id;
SELECT DISTINCT cname from category c,product p WHERE c.cid = p.category_id;
--內(nèi)連接
SELECT * from category c INNER JOIN product p WHERE c.cid = p.category_id;
--左外連接
SELECT * from category c LEFT JOIN product p on c.cid = p.category_id;
SELECT cname,count(category_id) from category c LEFT OUTER JOIN product p on c.cid = p.category_id GROUP BY cid;
子查詢(xún)
select cid from category where cname = '化妝品'奥溺;
select * from product where category_id = 'c003'辞色;
select * from product where category_id = (select cid from category where cname = '化妝品');
select p.* from product p ,category c where p.category_id = c.cid and cname = '化妝品';