MySQL表操作
目录
查看表
查看指定表的结构
删除表
小试牛刀
MySQL表的增删改查(CRUD)
插入操作
新增
指定列插入
多行插入
查询表中数据
全列查询
指定列查询
编辑查询字段为表达式
编辑别名
时间日期的处理
插入一个时间
获取当前时间
查看表
show tables;
查看指定表的结构
desc 表名;
删除表
drop table 表名;
删除表的同时,表中的数据也会丢失,删除需谨慎。
小试牛刀
1.创建一个商品表:
create table goods(goods_id int,name varchar(20),unitprice int,
category varchar(20),provide varchar(20));
这里有个注意点:商品的价格我这里用了int而不是decimal,因为虽然decimal精度高,但是运算缓慢,此外价格可以化为以分为单位这样就可以解决不精准这个问题了。
2.创建一个用户表
create table customer(customer_id int,name varchar(20),adress_name varchar(30),
email varchar(20),card_id varchar(20),sex varchar(2));
MySQL表的增删改查(CRUD)
插入操作
新增
insert into 表名 values(值,值.....);
案例:
insert into goods values(1,"洗衣液",20,"日用","胖东来");
此处的值要和列的参数类型和个数相匹配。sql中没有“字符”这个类型,在引用字符串的时候可以采用双引号也可以采用单引号。
指定列插入
insert into 表名(列名,列名....) values (值,值.....);
案例:一定要保证列名和值要一一对应,否则会出现报错的情况。
insert into goods(goods_id,name,unitprice) values(2,"沐浴露",30);
多行插入
insert into 表名 values(值,值...),(值,值...)...;
实例:
insert into goods values (3,"洗发水",40,"日用","永辉超市"),(4,"护发素",50,"日用","永辉超市");
错误案例:这里一个小括号里面代表行,因此每行要匹配否则就会报错,显示不匹配。
查询表中数据
全列查询
把表中的所有行和列都展示出来,*表示通配符可以表示所有的列。
select * from 表名;
案例
指定列查询
select 列名,列名... from 表名;
案例:指定列查询可以指定查询那列就查询那一列,可以缓解网络带宽,提高效率。
查询字段为表达式
边查找,边进行计算。在查询的时候全列执行列名中写入的表达式子。这个不会改变数据库服务器的原始数据,只响应临时结果。
再次调用后的结果
别名
为什么要取别名?
当字段表达式子处于复杂的情况下,别的程序员看这个式子不知道是什么意思。查询的时候可以给列,表达式,表指定别名。
select 表达式 as 别名 from 表名;
时间日期的处理
插入一个时间
insert into 表名 values(值,值,年 月 日 时:分:秒);
案例:
获取当前时间
insert into 表名 values(值,值,now());
案例: 获取当前时间直接调用SQL中给定的now();