SQL基本语句

本文介绍了SQL的基本操作,包括创建表、插入数据、删除记录、单表及多表查询、追加字段等,并提供了实例帮助理解。

之前看过相关的语句但是很快就忘记了(由于平时几乎用不到),刚好今天又看到了相关的知识,在此做个记录和总结,以便日后回顾与查看。

1.创建表:

create table if not exists 表名(字段名 字段类型)

2.插入数据:

INSERT INTO 表名 (字段名1,字段名2...) values (value1,value2...)

3.删除某一条记录:

delete from 表名 条件 

例:delete from Author where id = 100

4.查询:

以下查询建立在已有下面三张表的基础上

1.Book(id INTEGER,Title TEXT,Intro TEXT,Authorid Integer)

2.Author(id INTEGER,FirstName TEXT,MiddleName TEXT,LastName TEXT)

3.Category(id INTEGER,MainCategory TEXT,Title TEXT,Content TEXt)

①单表查询:

select * from 表名 条件  ---- 查询所有字段

select 表名.字段名1,表名+字段名2... from 表名 条件 ------ 查询指定的字段

例:select * from Author WHERE id = 5   或者  select Author.id,Author.FirstName from Author WHERE id = 5

②多表查询:

select * from Book,Author,Category where Book.Title like '%book%' and Book.Categoryid = Category.id and Book.Authorid = Author.id     查询同时满足 书名中含有‘book’ && Book表中Categoryid与类别表中的id && Book表中Authorid 与 Author表中id相同 三个条件的所有记录

③多表内联查询:

显示两个/多个表中对应字段的值相同的记录(格式为  select * from 表1 inner JOIN 表2 ON 条件 inner JOIN 表3 条件  )

例1:select * from Book inner JOIN Author ON Book.Authorid = Author.id 查询在book和Author表中作者Book表中Authorid与Author表中作者id相同的记录

例2:select * from Book inner JOIN Author ON Book.Authorid = Author.id inner JOIN Category ON Book.Categoryid = Category.id where Book.Title like "%book%" 查询书 名中带有‘book’的 && Book表中Authorid与Author表中id相同的 && Book表中Categoryid与Category表中id相同 的记录

④多表外联查询:

左外联:左边表的内容全部显示 右边表只显示与左边表对应字段的值相同的行(右外联与左外联相反 这里不做介绍)

例如:select * from Book LEFT JOIN Author ON Book.Authorid = Author.id 那么这条语句的查询结果是 Book表中的所有内容和Author表中id与Book表中Authorid相同的记录

例1:select * from Book LEFT JOIN Author ON Book.Authorid = Author.id

id     Title            Intro   Authorid   Categoryid          id     FirstName   MiddleName  LastName

11 myBook A story 5        3             5     Andrew     <null> Rangell

13 sunshine A story 6        9         <null>    <null>         <null> <null>

⑤查询并排序:

1.order by 字段名 --- 根据字段正序排列 2.order by 字段名 desc ------ 根据字段逆序排列 

注意:有时字段类型与你想要排序的类型不同时需要转换。

如果Book表中的id是TEXT类型的,但是字符串类型的 9 是 大于字符串类型的80的(首先会根据第一位,第一位相同才会根据第二位) 这时我们就需要转换: select * from Book order by CAST(id as INT)    select MAX(CAST(id as INT)) from Book

⑥在表中追加字段:

1.检测表中是否有该字段: pragma table_info(表名)  获取表中所有字段 然后遍历所有字段    

2.添加字段:alter table Author add gender INTEGER DEFAULT ‘0’ 添加“gender”字段

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值