SQL基础语句速成版
只涉及增删改查等基础部分
1.基础操作
在Windows下,sql时不区分大小写的
1.1.确认是否有celebs这个表
SELECT * FROM celebs;#这时,运行应该是空白的,表示没有celebs这个表 这也可以用于显示表里的所有信息
1.2.创建一张名为celebs的表格 Create
CREATE TABLE celebs(
id INTEGER;#表中的各个列名及相对应的数据类型
name TEXT;
age INTEGER;
);
1.3.添加数据 Insert
添加数据有两种方法
1.按照默认顺序添加
INSERT INTO table_name
VALUES(value1, value2);
2.指定列来添加
INSERT INTO table_name(column1,column2)
VALUES(value1, value2);
-- 例如
INSERT INTO celebs (id, name, age)
VALUES (1, 'Justin Bieber', 22);
为了提高效率,我们可以按照如下方法进行输入
INSERT INTO table (col1, col2, col3)
VALUES
(row1_val1, row1_val2, row1_val3),
(row2_val1, row2_val2, row2_val3),
(row3_val1, row3_val2, row3_val3);
1.4.查询数据 Select
具体语法
SELECT name FROM celebs;
也可以使用通配符
SELECT * FROM celebs;
执行结果会返回所有在celebs中的列
SELECT执行后,一般会返回一个叫做result set的结果表
默认的返回顺序是从表首至表尾,即按照添加的早晚,从早到晚进行显示
1.5.增加数据 Alter
ALTER TABLE celebs
ADD COLUMN twitter_handle TEXT;
这里就是在表celebs中增加了一个名叫twitter_handle的列,数据类型为TEXT,当然这里的TEXT可以变为NULL
这里需要注意,我们不能决定将新的列添加到哪里都只能默认添加到表尾。如果真的有重要的内容需要放到前面,我们便需要重新创建一张表然后按自己想要的顺序放入。
1.6.改变数据 Update
UPDATE celebs SET twitter_handle = '@taylorswift13'
WHERE id = 4;
SELECT * FROM celebs;
首先在UPDATE后面指定要更新的表,SET后面指定要改变的列及值,最后WHERE后通过id来定位要改变的行 三步分别确定 表 列 行
这里需要指出Alter和Update的区别,Alter是对列进行改变,可添加删除或修改,但Update只能对行的内容进行改变
1.7.删除数据 Delete
DELETE FROM celebs
WHERE twitter_handle IS NULL;
SELECT * FROM celebs;
这里的代码意思是指从celebs这张表中找到twitter_handle这列中为NULL的行进行删除
若要指定删除前几行,我们可以使用子句LIMIT
DELETE FROM table
WHERE conditionLIMIT 5;
这就只会删除前五句
也可以指定在某些行中删除
DELETE FROM celebs
WHERE id in (1,3) and twitter_handle IS NULL;
这就只会在id为1和3的行中进行删除操作
1.8.限制语句 Constraints
CREATE TABLE celebs (
id INTEGER PRIMARY KEY,#这是指定关键字,是不得重复的
name TEXT UNIQUE,#与 关键字一样不得重复,但关键字每个表只能指定一个,这个可以指定很多个
date_of_birth TEXT NOT NULL,#不得为空
date_of_death TEXT DEFAULT 'Not Applicable'#设定默认值);