iOS数据库相关程序员数据库

一篇文章让你掌握SQL的基础语句使用

2017-04-19  本文已影响124人  无意惹东风

本文主要介绍关于数据库操作中SQL语句的简介和基础使用语法。

SQL是一种结构性查询语言、用于和数据库之间的数据交互、通过使用SQL可以对数据库的数据进行创建、更新、删除、修改、查询等一系列的操作。

SQL对大小写不敏感

SQL语句末尾的分号不是必须的,可以不用加

SQL结构性查询语言 = DML数据操作语言 + DDL数据定义语言


DML:查询+更新

select 查询:从数据库中获取数据

update 更新:更新数据库中的数据

delete 删除:删除数据库中的数据

insert into 增加:像数据库中插入新的数据


DDL:创建+修改+删除 ==> 库+表+索引

create database  创建新的数据库

alter database  修改数据库

create table  创建新的数据库表

alter table  修改数据库表

drop table  删除表

create index  创建新的索引

drop index  删除索引


以下主要是SQL的基础语法的使用:

前提:数据库中有一张联系人信息表名为Persons,包含 id(在表中的顺序), name, sex, age, phoneNumber, city

举例参考表

1. select 和 select *

语句:select 条件字段(列名)  from  表名

描述:select用于在表中选取数据。得到的结果数据会被存储在一张结果表中,亦称结果集。


要求1: 查询出表中name字段对应的所有数据

select name from Persons;


要求2: 查询出表中name字段和age字段对应的所有数据

select name,age from Persons;


要求3: 查询出表中所有字段对应的所有数据

select * from Persons;           (* 表示所有条件)


2. select distinct 

描述:有时候可能一个条件字段对应的数据中由多个相同的数据值,这个时候如果我们只需查询显示一个数据值,就需要用distinct这个关键字来操作进行去重

要求: 查询出表中age字段对应的数据,并去掉重复数据

select distinct age from Presons; 


3. where

语法:select * from Persons where 列名=列值;

描述:比如说我们要查找某个范围中的数据,就涉及到条件查询,

这个时候通常用where来处理。


要求1: 查询出表中sex字段对应的所有女性数据

select * from Persons where sex='female';


要求2: 查询出表中age字段对应的年龄在20到30岁之间(开区间)的所有数据

select * from Persons where 20<age<30;


4. and & or

描述:多个条件一起查询时候使用


要求1: 查询出表中sex字段对应的女性,并且年龄在25岁以上的数据

select * from Persons where sex='female' and age>25;


要求2: 查询出表中sex字段对应的男性,或者年龄在40岁以上的数据

select * from Persons where sex='male' or age>40;


要求3: 查询出表中sex字段对应的男性或者age在40岁以上,并且city在杭州的所有数据

select * from Persons where (sex='male' or age>40) and city='hangzhou';


5. order by

描述:对于查询到的数据我们想要进行排序的时候就用order by来操作,

order by 默认是按照升序规则排序的


要求1:对Persons表中所有数据进行按照年龄大小排序查询

select * from Persons order by age;


要求2:把Persons表中的所有数据根据name字段来查询并且按照名称进行排序

select name from Persons order by name;

(此处默认为升序,name均为英文,则会按照a-z的顺序进行展示)


要求3:desc - 逆序(降序)

把Persons表中的所有数据根据name字段来查询并且按照名称进行逆序排序

select name from Persons order by name desc;

(此处排序为逆序,name均为英文,则会按照z-a的顺序进行展示)


要求4: asc - 顺序(升序)

根据name,id两个条件查询,按照name逆序,id顺序的方式展示

select name,id from Persons order by name desc, id asc;


6. insert into

描述:向表中插入新的行数据

insert into 表名 values (值1, 值2, 值3, ...);

insert into 表名 (列1,列2,列3,...) values (值1, 值2, 值3, ...);


要求1: 原表列数插入

给Persons表中插入一条新数据

(这个时候插入的这条数据包含的字段和原表的列数是 相同的)

insert into Persons values (值1, 值2, 值3, 值4, 值5, 值6);


要求2: 非原表列数插入

给Persons表中插入一条新数据,这个数据只有name和age

(这个时候插入的这条数据包含的字段和原表的列数是 不同的)

insert into Persons (name,age ) values ('Xuezhiqian', 35);

insert into Persons (name,age ) values ('Luhan', 27);


7. update

描述:修改表中的数据

update 表名 set 列名=新值 where 列名=某值;

(6中我们插入的数据中有一条name='Xuezhiqian'的新数据, 但这个数据和我们原表相比并不完整。所以我们现在要修改他的数据)


要求1: 给name='Xuezhiqian'的这条新数据增加sex字段

update Persons set sex='male' where name='Xuezhiqian';


要求2: 给name='Xuezhiqian'的这条新数据增加city字段并且把age改成34

update Persons set city='shanghai' , age=34 where name='Xuezhiqian';


8. delete

描述:删除表中的行数据

delete from 表名 where 列名=列值;

delete from 表名;

delete * from 表名;

(6中我们插入的数据中有一条name='Luhan'的新数据,现在想要删除掉)


要求1: 把name='Luhan'的这条新数据删除

delete from Persons where name='Luhan';


要求2: 删除整个Persons表的所有行

delete from Persons;

或者

delete * from Persons;


以上便是SQL操作数据库的基础语句的汇总

码文不易,还望支持。

有关SQL的相关知识会后续持续更新,欢迎关注。康撒米达~~~

上一篇下一篇

猜你喜欢

热点阅读