MySql学习笔记(一) 教程

该篇是阅读MySql 5.1 参考手册做的笔记,链接如:http://www.matools.com/api/mysql

创建数据库

create database 数据库名;

使用数据库

use 数据库名;

查看所有数据库

show databases;

查看数据库下所有表

show tables;

创建表

CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

查看表所有属性

describe 表名

插入一条数据

insert into pet values ('Puffball','Diane','hamster','f','1999-03-30',NULL);

查询表数据

格式
SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy;
查询所有记录
select * from pet
选择特殊行
SELECT * FROM pet WHERE name = 'Bowser'
字符串比较不区分大小写。
选择特殊列
select name, birth from pet
discount 去除重复数据。
分类行
select name, birth from pet order by birth
默认会按照升序进行排序,升序 ASC ,降序 DESC
可以使用BINARY强制执行区分大小写的分类功能,如:ORDER BY BINARY col_name.
多个列排序,如下: ORDER BY species, birth DESC;
注意 DESC 关键字仅适用于在它前面的列名( birth);不影响 species 列的排序顺序。

更新表数据

update set birth = '1989-08-31' where name = 'Bowser'

日期计算

SELECT name, birth, CURDATE(), (YEAR(CURDATE())-YEAR(birth)) - (RIGHT(CURDATE(),5)<RIGHT(birth,5)) AS age FROM pet;
YEAR()提取日期的年部分;
RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符;

查询下个月出生的宠物
SELECT name, birth FROM pet WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));

NULL值操作

NULL判断,查找是NULL和不是NULL的语句如下:birth is NULL , birth is not NULL
group by 中 两个 null 视为相同。
MySql中 NULL 是最大的值。

模式匹配

在MySql中,“_” 匹配任何单个字符,而 “%” 匹配任意数目字符(包括零字符),使用 LIKENOT LIKE 比较操作符。

计数行

SELECT COUNT(*) FROM pet;
SELECT owner, COUNT(*) FROM pet GROUP BY owner;

当前链接的数据库

select database()

查询组中最大值

SELECT article, MAX(price) AS price
FROM shop
GROUP BY article

拥有某个字段的组间最大值的行

SELECT article, dealer, price
FROM shop s1
WHERE price=(SELECT MAX(s2.price)
FROM shop s2
WHERE s1.article = s2.article);

使用用户变量

SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
SELECT * FROM shop WHERE price=@min_price OR price=@max_price;

附录

批量插入初始数据

INSERT INTO pet
VALUES('Fluffy','Harold','cat','f','1993-02-04',NULL),
('Claws','Gwen','cat','m','1994-03-17',NULL),
('Buffy','Harold','dog','f','1989-05-13',NULL),
('Fang','Benny','dog','m','1990-08-27',NULL),
('Bowser','Diane','dog','m','1979-08-31','1995-07-29 '),
('Chirpy','Gwen','bird','f','1998-09-11',NULL),
('Whistler','Gwen','bird',NULL ,'1997-12-09',NULL),
('Slim','Benny','snake','m','1996-04-29',NULL),
('Puffball','Diane','hamster','f','1999-03-30',NULL)

猜你喜欢

转载自blog.csdn.net/dulei17816/article/details/80973212
今日推荐