MySQL sql语句

-- 创建数据库
CREATE DATABASE demo;
-- 删除数据库
DROP DATABASE demo;
-- 查看数据库
SHOW DATABASES;
-- 创建数据表:
CREATE TABLE demo.test( barcode text, goodsname text, price int); 
-- 查看表结构
DESCRIBE demo.test;
-- 查看所有表
SHOW TABLES;
-- 添加主键
ALTER TABLE demo.testADD COLUMN itemnumber int PRIMARY KEY AUTO_INCREMENT;
-- 向表中添加数据
INSERT INTO demo.test(barcode,goodsname,price)VALUES ('0001','本',3);
-- 修改字段类型语句
ALTER TABLE demo.goodsmaster MODIFY COLUMN price DOUBLE;
-- 计算字段合计函数:
SELECT SUM(price) FROM demo.goodsmaster;
CREATE TABLE(
字段名 字段类型 PRIMARY KEY
);
CREATE TABLE(
字段名 字段类型 NOT NULL
);
CREATE TABLE(
字段名 字段类型 UNIQUE
);
CREATE TABLE(
字段名 字段类型 DEFAULT 值
);-- 这里要注意自增类型的条件,字段类型必须是整数类型。
CREATE TABLE(
字段名 字段类型 AUTO_INCREMENT
);-- 在一个已经存在的表基础上,创建一个新表
CREATE demo.importheadhist LIKE demo.importhead;-- 修改表的相关语句
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 FIRST|AFTER 字段名;
ALTER TABLE 表名 MODIFY 字段名 字段类型 FIRST|AFTER 字段名;
ALTER TABLE 表名 ENGINE=INNODB;
假设用户有2个各自独立的门店,分别有自己的系统。现在需要引入连锁经营的模式,把2个店用一套系统统一管理,那么首先遇到的问题就是,需要进行数据整合,下面我们就已商品信息表为例,来说明如何通过使用"ON DUPLICATE"关键字,把两个门店的商品信息数据整合到一起。

假设门店A的商品信息表是"demo.goodsmaster",如下:
mysql> SELECT * FROM demo.goodsmaster;

MySQL sql语句_第1张图片

门店 B 的商品信息表是“demo.goodsmaster1”:
mysql> SELECT * -> FROM demo.goodsmaster1;

MySQL sql语句_第2张图片

假设我们要把门店 B 的商品数据,插入到门店 A 的商品表中去,如果有重复的商品编号,就用门店 B 的条码,替换门店 A 的条码,用门店 B 的商品名称,替换门店 A 的商品名称;如果没有重复的编号,就直接把门店 B 的商品数据插入到门店 A 的商品表中。这个操作,就可以用下面的 SQL 语句实现:
INSERT INTO demo.goodsmaster SELECT *FROM demo.goodsmaster1 as aON DUPLICATE KEY UPDATE barcode = a.barcode,goodsname=a.goodsname;
mysql> SELECT * FROM demo.goodsmaster;

MySQL sql语句_第3张图片

查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩:
select b.s_id as id, b.s_name as name, avg(a.s_score) as avg_score from score a, student b where a.s_id=b.s_id group by a.s_id having avg_score < 60;

你可能感兴趣的:(sqlmysql)