1.创建表格
CREATE DATABASE my_database; #创建库
USE my_database; #激活数据库
CREATE TABLE my_contacts #创建表格
(
name VARCHAR(20) NOT NULL,
gender VARCHAR(10),
birthday DATE,
professsion VARCHAR(50) DEFAULT 'no work');
2.插入值
INSERT INTO my_contacts
VALUES
(1,2,3,4),
('a','b','c','d');
tips:文本引用中出现单引号,为避免误导,单引号前加 '\' 或者再加个单引号
3.SELECT 索引语句
SELECT * FROM my_table #选择所有列,AND是逻辑与,OR是逻辑或
WHERE first_name='jason'
AND
age=25;
SELCET * FROM my_table
WHERE age=25
OR
age IS NULL; #IS NULL 选择内容为NULL的语句。
SELECT column1,column2 FROM my_table #选择特定列
WHERE column1>0;
4.关键字 LIKE NOT
SELECT * FROM my_table
WHERE column1 LIKE '%JASON' # 通配字符 %,表示任意数量的未知字符。
OR column1 LIKE '%_ason'; #通配字符_,表示一个未知字符。
SELECT * FROM my_table
WHERE column1 NOT IN #表示选择范围
('a','b','c');
AND NOT column1 LIKE '%A'; # NOT接在WHERE,AND,OR等后面。
5.DELETE语句
#DELETE 必定是整行或者多行删除,可以配合WHERE条件语句进行定向删除。
为避免删除错误的数据,可以先用SELECT先定位,再删除。
DELETE FROM my_table #只有这句,就表示删除整个表格。= DROP my_table;
WHERE column1='jason';
6.UPDATE语句
UPDATE 是对某列数据进行修改,WHERE还是用来定位到某行。
UPDATE my_table
SET column1=new_value1,
column3=new_value2 #设置新值,语句用逗号隔开。
WHERE column2=some_value; #定位
*UPDATE 与 CASE 结合。主要作用是给一列赋予不同条件(WHEN主导)的不同值(THEN)
UPDATE my_table
SET new_column=
CASE
WHEN column1=value1 THEN new_value1
WHEN column1=value2 THEN new_value2
ELSE new_value3
END;
7. ALTER 语句
* 与ADD 配合,增加表格列,并安排各列的位置(FIRST,SECOND,AFTER,BEFORE,LAST等等)。
PS:DESCRIBE my_table; 可以查看一张表的构成,例如表的列名,数据类型。
ALTER TABLE my_table
ADD COLUMN column1 INT NOT NULL AUTO_INCREMENT
BEFROE column2;
my_table
ADD COLUMN column1 INT NOT NULL AUTO_INCREMENT
BEFROE column2;
* 与 CHANGE 配合,修改列名称,以及列的数据类型。
ALTER TABLE my_table
CHANGE COLUMN column1 column2 VARCHAER(20); #将列名column1改为column1
*与MODIFY配合,只修改列的数据类型,还可以重新排列各列。
ALTER TABLE my_table
MODIFY COLUMN column1 VARCHAR(30); #将数据类型改为 VARCHAR(30)
*与DROP 配合,删除某列。
ALTER TABLE my_table
DROP COLUMN column1;
*与 RENAME TO配合,修改表的名称。
ALTER TABLE my_table
RENAME TO his_table;
PS:AUTO_INCREMENT,即自动递增的列,每张表格只能有一列。
SELECT SUBSTRING_INDEX(column1,'分隔符‘,1) FROM my_table; #SUBSTRING_INDEX 会返回分隔符前所有字符串。
8. ORDER BY 重要的排序语句。
ORDER BY 语句后面接排序列1,2,3, 结果分别按照先来后到的顺序排列。 列名后接DESC/ASC,表示数据倒叙或者正序。
SELECT SUM(column1)
FROM my_table
GROUP BY column1
ORDER BY column2 DESC/ASC;
9. GROUP BY 分组语句