SQL—对数据表内容的基本操作
数据表 students
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
1、查询语句
字母大小写都可以,如果有多行语句要执行则需要在每一条语句后面加;
* 表示所有符合条件的信息
语法:select 列名称 from 表名称
例:select name,sex,address from students
结果:
sex | age | address |
男 | 14 | 杭州 |
男 | 13 | 杭州 |
男 | 14 | 北京 |
男 | 15 | 上海 |
女 | 12 | 泰国 |
例:select * from students
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
2、剔除重复的值
语法:select distinct 列名称 from 表名称
例:select distinct address from students
结果:如下结果,可以看出地址中原本有两个杭州现在只剩下一个
address |
杭州 |
北京 |
上海 |
泰国 |
3、加入判断语句
语法:select 列名称 from 表名称 where 列 运算符 值
例:select * from students where sex=‘男’
结果:查找出所有性别为男的信息
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
在where中操作富的使用:
操作符号 | 意义 |
= | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
between a and b |
在a和b的范围之间 |
4、运算符and 与 or
and和or是在where中使用的,and表示两个条件都满足就输出,or表示两个条件中只要满足一个就输出
例:select * from students where age=14 or address='杭州'
结果:
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
5、对语句进行排序
desc为降序排列,asc为升序排列,如果不填默认为升序排列
语法:order by 列名 desc/asc
例:select * from students order by age desc
结果:
id | name | sex | age | address |
104 | 钱进进 | 男 | 15 | 上海 |
101 | 张汉 | 男 | 14 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
6、插入数据
语法:insert into 表名 values (值1,值2,值3...)
或 insert into 表名(列1,列2...)values (值1,值2...)
例:insert into students values(107,‘张三’,‘女’,21,‘未知’);
insert into students(name,age)values('汉子',13)
结果:
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
107 | 张三 | 女 | 21 | 未知 |
汉子 | 13 |
7、修改
语法:update 表名 set 列名1=新值 where 列名2=要修改的值
例:update students set age=18 where name=‘张三’
结果:
id | name | sex | age | address |
101 | 张汉 | 男 | 14 | 杭州 |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
107 | 张三 | 女 | 18 | 未知 |
汉子 | 13 |
8、删除
语法:delete from 表名 where 列名=要删除信息的值
例:delete from students where name=‘张汉’
结果:
id | name | sex | age | address |
102 | 欧阳钦 | 男 | 13 | 杭州 |
103 | 吴昊 | 男 | 14 | 北京 |
104 | 钱进进 | 男 | 15 | 上海 |
105 | 刘芳芳 | 女 | 12 | 泰国 |
107 | 张三 | 女 | 18 | 未知 |
汉子 | 13 |