创建表
create table 表明( 字段名 类型 约束, 字段名 类型 约束 )
注意:表明在这个数据库中,表明必须时唯一的
create table goods1(
goods_name VARCHAR(20),
goods_price DECIMAL(5,2)
);
-- 创建表
-- unsigned 无符号 ,primary key主键(不为空),antu_increamt自动递增
create table goods(
id int unsigned primary key auto_increment,
goods_name varchar(20),
price decimal(5,2),
num int(10),
company varchar(20),
remark varchar(30)
)
select * from goods
删除表
drop 表名
-- 删除表
drop goods
-- 删除表(如果表存在执行删除操作)
-- drop table if EXISTS goods
添加数据
insert into 表名 values(…)
-- 添加一条数据,设置所有数据的信息
insert into goods values(001,'牛奶',3.5,1,'蒙牛','注意日期')
-- 插入多条数据
insert into goods values
(002,'牛奶',3.5,1,'蒙牛','注意日期'),
(003,'香蕉',10,1,'超市','打折'),
(004,'牛奶',3.5,1,'伊利','注意日期'),
(005,'牛奶',5,1,'金典','注意日期'),
(006,'苹果',3,1,'红富士','甜');
修改表数据
update 表明 set 字段名=要修改成的数据 where 字段名=要修改的
-- 修改数据(把id=006的价格改为6.6)
update goods set price=6.6 where id=006
删除表数据
delete from 表明 where 条件
-- 删除一条数据
-- 如果要删除执行数据,务必给出限定条件
delete from goods where id=006
查询
(1)查询表中所有数据
select * from 表名
-- 查询所有数据
select * from goods
(2)查询部分字段
select 字段名 from 表名;
-- 查询部分字段
-- 只需要在查询所有数据的基础上,修改*的位置,多个字段用,隔开
select price,company from goods;
(3)查询 运用比较运算符(=,>,>=,<,<=,!=,<>)
-- 查询价格等于3.5元的
SELECT * from goods where price=3.5
-- 查询价格大于3.5元的
SELECT * from goods where price>3.5
-- 查询价格大于等于3.5元的
SELECT * from goods where price>=3.5
-- 查询价格小于3.5元的
SELECT * from goods where price<3.5
-- 查询价格小于等于3.5元的
SELECT * from goods where price<=3.5
-- 查询价格不等于3.5元的(两种写法)
SELECT * from goods where price!=3.5
SELECT * from goods where price<>3.5
(4)查询 运用逻辑运算符(and、or 、not)
-- 查询 价格小于3.5的葡萄
SELECT * from goods WHERE price<3.5 and company='果园'
-- 查询 牛奶或者果园
SELECT * FROM goods WHERE company='牛奶' or company='果园'
-- 查询不是牛奶的商品
SELECT * FROM goods WHERE NOT company='牛奶'
(5)模糊查询
模糊查询like(字符:% 匹配任意的多个字符)
语句格式:where 字段 like ‘%信息’
-- 模糊查询like(字符:% 匹配任意的多个字符)
-- 语句格式:where 字段 like '%信息'
SELECT * FROM goods WHERE remark LIKE '注意日期'
(6)范围查询
-- 条件查询-范围查询:between 起始值 and 结束值
-- 范围应该从小到大,否则查询不出来
SELECT * FROM goods where price BETWEEN 1 AND 5
-- 条件查询-范围查询:in (条件1,条件2,...):表示在某个不连续的范围内
SELECT * FROM goods WHERE company IN('伊利','金典')
起别名(感觉有点像视图,给列一个中文名)
-- 别名(三种方式都可以)
-- 视图,给列一个中文名,是固定的,下次查询的时候,视图还是中文名,这个别名就查询语句的时候是中文的列明
SELECT price as '价格' from goods
SELECT goods_name '商品名称' from goods
select num 数量 from goods
去重
-- 去重:根据所给字段,将字段中文字相同数据合并保留一个
SELECT DISTINCT(company) from goods
判空
注意:null与’‘是不同的,null是空,’'是空字符,有可能是空格,空格占位
判空is null
-- 判空
SELECT * FROM goods WHERE remark is null
-- not null
SELECT * FROM goods WHERE remark is not null