(知识回顾) 连接数据库 mysql -uroot -p111 先建立一个新库 create database test1; use test1; 由于今天的主要内容是表的操作,建立表的详细过程不是本文的重点 我就直接给出建表的代码 mysql> create table xinshui( -> id int primary key, -> name varchar(10), -> sex char(1), -> company varchar(20), -> sala…
create table 表名 ( 列名1 列属性, 列名2 列属性 ... ... 列名n 列属性 )engine myisam charset utf8; (增加表的一列) (一)在表的最末列增加一列 (二)在指定列后加入某列 (三)在表的最前面增加一列 (删除列) (修改某一列的属性) 把username中的char(20) 改成char(30) (修改某一列的名字及列类型) 把username的列名改为name (值得注意的是:除了表名,表的属性也会改变)…
在查询中,我们经常把查询结果当成临时表 view可以看成是一张虚拟表,是表通过某种运算得到的一个投影 在建立视图时,不需要指定视图的列名与列类型 红框内的为select选择语句 蓝框内的与建表语句类似 在建立了view stats视图后,表的操作在视图上都可以实现 视图的作用 (1)简化查询 (2)更精细的权限控制 比如用户表,2个网站合作,可以查询对方网站的用户 需要向对方开放用户表权限,但是有不想开放密码字段 (3)数据多,分表时可以用到 表与视图数据变化时的关系 更改数据后 cat_id…
为方便本节学习, 请先自行建立本表: 建一个商品表: create table goods ( -> goods_id mediumint(8) unsigned not null auto_increment, -> cat_id smallint(5) unsigned not null default '0', -> goods_sn varchar(60) not null default '', -> goods_name varchar(120) not null de…
建立一张简单的查询视图,不用临时表,只用条件合并 在简单的查询中,建立临时表的开销比较大 这是可以指定algorithm选项为merge 在v2的视图中,并没有建立临时表 但在下列情况下,必须建立临时表 不能接着按照建立的临时表继续写MySQL语句时,用temptable 如果拿不准用什么,algorithm = undefined, 上系统决定…
(一) 把建立的goods表找到 (二) 当cat_id = 3时,计算所有商品的库存量之和 计算每个cat_id下的库存量(group by) 需要用到分组,把每个红框内的计算在一起 筛选出本店价比市场价低200以上的商品 或 where条件是计算对最初列的计算 having是对结果集进行再次筛选 综合练习 查询每种商品积压的货款(本店价*库存量) 该店积压的总货款 查询每个cat_id下的货款 查询出积压货款金额>2000的cat_id…
先把之前建的goods表找到 找到最贵的本店价(max) 找到最便宜的本店价(min) 查出一共还有多少商品(count) 查看商品价的平均价(avg) 查看本店有多少种商品 当count(*)时 输出的时绝对行数 而count(列名)时,输出行数为不为null的 mysql> select * from test4; +------+------+ | id | name | +------+------+ | Lili | | NULL | +------+------+ rows in s…
先选择goods表 set names gbk; 把本店价从低到高排序(order by) (注意)order by 要放在where, group by, having之后 查询本店价从高到低排序 按发布时间降序排列(把最新的放在最前面) (按照两种因素排序) 按cat_id进行升序排序,再按shop_price进行降序排序 多字段排序,先按照第一个字段排,如果第一个字段相同,才会按第二个字段排序 想取出最贵的十个产品(limit) 查询出本店价在3到5之间的商品 limit后如果只有一个数字…
先建立一张 m 表 mysql> create table m ( -> mid int, -> hid int, -> gid int, ), -> matime date -> )engine myisam charset utf8; Query OK, rows affected (0.07 sec) mysql> insert into m -> values -> (1, 1, 2, '2:0', '2018-08-03'), -> (…
(01)建表的过程实际上是 声明字段 的过程 一. 列类型(字段): 存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义. 二.MySQL三大列类型     数值型     整型     tinyint 占据空间:1个字节 存储范围:0 - 255, -128 - 127 smallint 占据空间:2个字节 储存范围:-32768 - 32768, 0 - 65535 int 占据空间:4个字节 储存范围:-2147483648 - 2147483647 0…