SQL 一日游

 

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 分组语句

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值