MySQL的增、删、查、改

表的创建、更新、删除和重命名

#表的创建
CREATE TABLE table_name
(
    column_1    int         NOT NULL AUTO_INCREMENT,
    column_2    char(50)    NOT NULL,
    column_3    char(5)     NOT NULL,
    PRIMARY KEY(main_key)
    )ENGINE=InnoDB;

注:在插入或更新行时,该列必须要有值;主键必须唯一;AUTO_INCREMENT表示每当增加一列时自动增量;

#表的更新,增加一个列
ALTER TABLE table_name
ADD column_name CHAR(20)#删除刚刚添加的列
ALTER TABLE table_name
DROP COLUMN column_name;

注:ALTER TABLE 使用要极其小心。提前备份

#表的删除
DROP TABLE table_name;
#表的重命名
RENAME TABLE table_name TO new_table_name

数据的检索、查询、插入、更新、删除

数据检索

#检索单个列
SELECT column_name
FROM table_name;
#检索多个列
SELECT column_1,column_2,column_3
FROM table_name;
#检索所有列
SELECT *
FROM table_name;
#检索不同行
SELECT DISTINCT column_1
FROM table_name;
#限制结果为前5行
SELECT column_name
FROM table_name
LIMIT 5;
#限制结果为从5行开始的5行
SELECT column_name
FROM table_name
LIMIT 5,5;
#完全限定的表名
SELECT table_name.column_name
FROM table_name;
#排序检索数据
SELECT column_name
FROM table_name
ORDER BY column_name;
#按多个列排序,分先后
SELECT column_1,column_2,column_3
FROM table_name
ORDER BY column_1,column_2;
#指定顺序,默认升序,指定DESC为降序
SELECT column_1,column_2,column_3
FROM table_name
ORDER BY column_1 DESC;

过滤数据

#WHERE的运用
SELECT column_1,column_2
FROM table_name
WHERE column_1 ##;
#空值检查
SELECT column_1,column_2
FROM table_name
WHERE column_1 IS NULL;

注:范围值检查使用BETWEEN a AND b的语句;

#IN、AND和WHERE的组合
SELECT column_1,column_2,column_3
FROM table_name
WHERE column_1 = a AND column_2 <= b;

SELECT column_1,column_2,column_3
FROM table_name
WHERE column_1 = a OR column_2 = b;
#IN对范围内的每个条件进行匹配
SELECT column_1,column_2,column_3
FROM table_name
WHERE column_1 IN (a,c)
ORDER BY column_1;
#NOT IN否定条件
SELECT column_1,column_2,column_3
FROM table_name
WHERE column_1 NOT IN (a,c)
ORDER BY column_1;

注:AND优先级大于OR,IN操作符比OR操作符清单执行更加快

#LIKE与通配符
#百分号%通配符,可以放在任何位置
SELECT column_1,column_2
FROM table_name
WHERE column_2 LIKE 'jet%';
#下划线_通配符,只能匹配一个字符
SELECT column_1,column_2
FROM table_name
WHERE column_2 LIKE '_son';

注:正则表达式自行查阅

聚集数据

函数说明
AVG()平均值
COUNT()行数
MAX()最大值
MIN()最小值
SUM()

分组数据

#创建分组
SELECT column_1,COUNT(*) AS num_column_1
FROM table_name
GROUP BY column_1;
#过滤分组
SELECT column_1,COUNT(*) AS num_column_1
FROM table_name
GROUP BY column_1
HAVING COUNT(*) >=2;

注1:HAVING支持所有WHERE操作符
注2:子查询自行查阅

插入数据

#插入完整的行
INSERT INTO table_name(column_1,column_2,...)
VALUES('','','',...);
#插入多个行
INSERT INTO table_name(column_1,column_2,...)
VALUES('','','',...);
INSERT INTO table_name(column_1,column_2,...)
VALUES('','','',...);
#插入检索出的数据
INSERT INTO table_name(column_1,column_2,...)
SELECT  column_1,column_2,...
FROM table_name_1;

更新和删除数据

#更新数据
UPDATE table_name
SET column_1 = 'a'
WHERE column_3 = b;
#更新多个列
SET column_1 = 'a1',
    column_2 = 'a2'
WHERE column_3 = b;
#删除某个列
UPDATE table_name
SET column_1 = NULL
WHERE column_3 = b;
#删除某行
DELETE FROM table_name
WHERE column_3 = b;

【英】Ben Forta MySQL Crash Course

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值