UI:SQL语句

sql语句一般不区分大小写,但是我们默认的是关键字要大写是一种好的习惯,比如SELECT 等效于 select。,但是表中的字段,属性区分大小写。Oracle 数据库是一种区分大小写的。

Sql语句命令:插入(Insert)、更新(Update)、删除(Delete)、数据检索(Select)

创建数据库:CREATE DATABASE database-name

查找某一列的所有信息:SELECT 列名 FROM 表名

SQL 语句中的分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的语句。

SQL总共有两部分组成,DML (数据库操作语言,由查询和更新指令组成);DDL(数据定义语言:让我们能够创建或删除表格,让我们定义索引(键),规定表之间的链接,以及为表添加约束)

其中 DML ——数据操作语言部分的作用:从表中获取数据,更新表数据,删除表数据,插入表数据       DDL ——数据定义语言部分的作用:创建数据库、修改数据库、创建表、变更数据库表、删除表、创建索引、删除索引从表中获取数据:用SELECT 语句   SELECT 列表名 FROM 表名; SELECT * FROM 表名 ;

如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons

列中如果有多个相同的值,我们只想让其列出一次,那我们就用SELECT DISTINCT 语句  使用:SELECT DISTINCT Company FROM Orders

如果需要有条件的选择的话,我们可以把where 添加到SELECT 语句中去。   用法:SELECT 列名称 FROM 表名称 WHERE 列  运算符 值;

在 where 语句中可以使用的运算符有 :

=    等于
<> 某些版本里也可以是   !=    不等于
>    大于
<    小于
>=    大于等于
<=    小于等于
BETWEEN    在某个范围内
LIKE    搜索某种模式
操作符号    符号描述
如果需要选择子在郑州的所有高校可以这样写:SELECT * FROM School_tab WHERE City  = @’郑州‘;  (*注意这里条件值周围是单引号)SQL 使用单引号来环绕文本(大部分数据库系统也接受双引号)如果是数据就不适用引号(在IOS里如果是字符串,那当然要使用引号了)

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

使用AND 来显示所有姓牛 并且名字为 “行业”的人。

SELECT * FROM Person_Tab  WHERE FirstName = @"牛" AND LastName =@"行业";

OR 运算符的使用:显示所有名字为 “行业” 或者姓为 “牛”的人

SELECT * FROM Person_Tab WHERE  FirstName = @“牛” OR  LastName = @"行业";

可以吧AND 和 OR 结合圆括号 一起构成更加复杂的表达式:查询姓牛或姓张 而且家在河南的人

SELECT * FROM Person_Tab  WHERE  (FastName = @"牛"  OR FastName = @"张") AND Address = @"河南";

ORDER BY 语句可以用于对结果进行排序

ORDER BY 语句用于根据指定的列对结果进行排序

ORDER BY 语句默认按照升序对记录进行排序

如果希望使用降序排序可以使用 DESC 关键字

SELECT 公司名, 公司编号 FROM 表  ORDER  BY  公司名称;     //在表中以默认的公司名首字母升序查找 公司名。  

SELECT 公司名, 公司编号 FROM  表 ORDER  BY 公司名称 , 公司编号;     //在表中以默认的公司名首字母升序查找 公司名,公司编号。  

以倒序字母显示公司名字:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
以倒序显示公司名字,并以数字顺序显示公司编号:

SELECT 公司名, 公司编号  FROM 表 ORDER BY 公司名 DES , 公司编号 ASC;  //如果第一列有相同的值时候,第二列就按照所给的属性去排序

INSERT INTO 语句

INSERT  INTO  语句用于向表格中插入新的行。

INSERT INTO 表名称 VALUES (值1,值2,值3.......);

 我们也可以指定要插入的数据的列

INSERT INTO 表名 (列1,列2.....)VALUES (值1,值2.....);

插入新的行:

INSERT INTO 表名称 VALUES (字段值1,字段值2,字段值3......);

在指定的列中插入数据:

INSERT INTO 表名称 (列1,列2.....)VALUES (字段,字段2......);

Update 语句 用于修改表中的数据

UPDATE 表明称 SET 列名称  = 新值 WHERE 列名称  = 某数值。

更新某一行中的某一列

原来 名字为“行业”的人我们为他添加一个姓  

UPDATE 表 SET FirstName = 姓 WHERE LastName  = 行业;

更新某一行中的若干列

UPDATE 表 SET 字段1 = 某值, 字段2 = 某值 ,WHERE 字段3 = 某值。

DELETE 语句用于删除某一行的数据

DELELT FROM 表 WHERE 列名称 = 值;

可以在不删除表的情况下,删除所有的行,这就意味着表的结构、属性和索引都是完整的。

DELETE FROM 表名  ;

DELETE * FROM  表名;

创建表
create table if not exists Teacher(tea_id integer primary key autoincrement, tea_name text, tea_gender text, tea_age integer, tea_skill text)

插入
insert into Teacher(tea_id, tea_name, tea_gender, tea_age, tea_skill) values(1, 'Duke', 'NO', 38, '胸口碎大石’)

查询
1.查询所有数据 .  select * from Teacher
2.查询所有数据,显示对应的列. select tea_name,tea_age from Teacher
3.查询所有数据,显示前两条. select * from Teacher limit 2
4.查询所有数据,并且按照年龄排序. select * from Teacher order by tea_age asc/desc (升序/降序)
5.按照条件查询所有数据. select * from Teacher where tea_name = ‘Frank'
6.查询年龄在20到40之间的数据. select * from Teacher where tea_age > 20 and tea_age < 40
7.查询姓名为Frank或者年龄为38的数据. select * from Teacher where tea_name = 'Frank' or tea_age = 38
8.查询姓名为Frank,并且年龄为18或者年龄为38的数据. select * from Teacher where tea_name = 'Frank' and (tea_age = 18 or tea_age = 38)

模糊查询.
1.在意开头,不在意结尾.   like  F%.  凡是以F开头的都可以检索到.
2.在意结尾,不在意开头.   like %n.   凡是以n结尾的都可以检索到.
3.不在开头,也不在意结尾,在意过程. like %abc% 凡是中间包含abc的都可以检索到.
4.否定之前的情况. not like F%. 

独一无二查询: 查询出来的数据都是不同的. 
select distinct tea_name from Teacher 

更新
update Teacher set tea_gender = '畜生'  where tea_id = 1

删除
delete from Teacher where tea_id = 1  //删除一条数据
delete from Teacher      //删除所有数据 

删除表
drop table Teacher
View Code


SQL语句高级语法学习:参考   参考

原文地址:https://www.cnblogs.com/benpaobadaniu/p/4837211.html