\c终止当前正在输入的指令
如果提示符变成 '> 或 ">,说明引号未封闭,此时输入任何指令都会被忽略,包括quit。应该先输入一个引号,再输入指令。
show create table table_name;可以显示表格的详细信息,包括约束。
describe table_name;显示表格的样式
如果查询条件是不等于null,应该用XXX is not null 而不是 XXX!=null,因为null是特殊值,不能使用普通比较符比较。
MySQL中的通配符:%占多位,_占一位
模式匹配:select * from pet where name [not] like 'b%'; 显示名字以b开头的宠物
匹配正则表达式:select * from pet where name [not] REGEXP '^b'; 显示名字以b开头的宠物
或者 select * from pet where name [not] RLIKE '^b';
select count(*) from pet; 显示pet的行数
SELECT owner, COUNT(*) FROM pet GROUP BY owner; 显示每个主人有多少宠物
SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species 用pet表联结自身来进行相同种类的雄雌配对
-> FROM pet AS p1, pet AS p2
-> WHERE p1.species = p2.species AND p1.sex = 'f' AND p2.sex = 'm';
SHOW INDEX FROM tbl_name 生成有关索引的信息s
Linux启动MySQL服务器:sudo service mysql start
windows启动MySQL服务器:net start mysql
mysql -u root 以管理员身份登录
zerofill 用0填充;给键命名:constraint shop_pk primary key(article)
CREATE TABLE shop (
-> article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
-> dealer CHAR(20) DEFAULT '' NOT NULL,
-> price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
-> PRIMARY KEY(article, dealer));
从文件中加载数据:LOAD DATA INFILE '文件路径和文件名' INTO TABLE 表名字;
导出:SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;
备份:mysqldump -u root 数据库名>备份文件名; #备份整个数据库
mysqldump -u root 数据库名 表名字>备份文件名; #备份整个表
恢复:mysql -u root test < bak.sql; #从bak.sql中恢复到任意新建的库(test)中
显示price这一列最大值对应的行(子查询)
mysql> SELECT article, dealer, price
-> FROM shop
-> WHERE price=(SELECT MAX(price) FROM shop);
也可以先按价格降序排列,然后用limit字句显示第一行
mysql> SELECT article, dealer, price
-> FROM shop
-> ORDER BY price DESC
-> LIMIT 1;
找出每项物品中对应出价最高价格
mysql> SELECT article, MAX(price) AS price
-> FROM shop
-> GROUP BY article;
通过使用用户变量找出价格最高或者最低的物品:
mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
等价于
select * from shop where price=(select min(price) from shop) or price=(select max(price) from shop);
AUTO_INCREMENT = 100 可以为序号生成一个起始值 100
color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL 枚举类型字段
owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id) references 声明外键,该句法可以创建一个列;但不创建任何索引或关键字。
SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop; 声明用户变量
SELECT @last := LAST_INSERT_ID(); 最后插入数据的ID
SHOW CREATE TABLE shirt \G; 按行输出每列的属性