(7)使用用户变量
任务:要找出价格最高或最低的物品的
SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop; SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
(8)使用外键
CREATE TABLE person (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR ( 60 ) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE shirt (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
style ENUM ( ‘ t-shirt ‘ , ‘ polo ‘ , ‘ dress ‘ ) NOT NULL,
color ENUM ( ‘ red ‘ , ‘ blue ‘ , ‘ orange ‘ , ‘ white ‘ , ‘ black ‘ ) NOT NULL,
owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),
PRIMARY KEY (id)
);
INSERT INTO person VALUES (NULL, ‘ Antonio Paz ‘ );
SELECT @last := LAST_INSERT_ID();
INSERT INTO shirt VALUES
(NULL, ‘ polo ‘ , ‘ blue ‘ , @last),
(NULL, ‘ dress ‘ , ‘ white ‘ , @last),
(NULL, ‘ t-shirt ‘ , ‘ blue ‘ , @last);
INSERT INTO person VALUES (NULL, ‘ Lilliana Angelovska ‘ );
SELECT @last := LAST_INSERT_ID();
INSERT INTO shirt VALUES
(NULL, ‘ dress ‘ , ‘ orange ‘ , @last),
(NULL, ‘ polo ‘ , ‘ red ‘ , @last),
(NULL, ‘ dress ‘ , ‘ blue ‘ , @last),
(NULL, ‘ t-shirt ‘ , ‘ white ‘ , @last);
SELECT * FROM person;
SELECT * FROM shirt;
SELECT s.* FROM person p, shirt s
WHERE p.name LIKE ‘ Lilliana% ‘
AND s.owner = p.id
AND s.color <> ‘ white ‘ ;
(8)根据天计算访问量
CREATE TABLE t1 (year YEAR( 4 ), month INT( 2 ) UNSIGNED ZEROFILL,
day INT( 2 ) UNSIGNED ZEROFILL);
INSERT INTO t1 VALUES ( 2000 , 1 , 1 ),( 2000 , 1 , 20 ),( 2000 , 1 , 30 ),( 2000 , 2 , 2 ),
( 2000 , 2 , 23 ),( 2000 , 2 , 23 );
SELECT year,month,BIT_COUNT(BIT_OR( 1 <<day)) AS days FROM t1
GROUP BY year,month;
(9)使用AUTO_INCREMENT
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR ( 30 ) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO animals (name) VALUES
( ‘ dog ‘ ),( ‘ cat ‘ ),( ‘ penguin ‘ ),
( ‘ lax ‘ ),( ‘ whale ‘ ),( ‘ ostrich ‘ );
SELECT * FROM animals;
mysql数据库(9):常用查询的例子
标签:一个 from enc insert 外键 rem medium enum value
查看更多关于mysql数据库(9):常用查询的例子的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did116749