admin 管理员组文章数量: 888299
SQL基本语句汇总
Atomic update引言
是时候复习一波SQL语句的语法了,无需太深,但总得会用啊。
语法
一步步由浅到深,这里用的都是mysql做的。
基础
连接数据库
mysql -h10.20.66.32 -uroot -p123456
-h后面是mysqlServer所在地址,-u后面是用户名,-p后面是密码
查看数据库
show databases;
使用数据库
use test;
查看表
show tables;
1
tables
查看表结构
desc winton
1
desc
建表
create table t1(
id int not null primary key,
name char(20) not null
);
语法 create table 表名称( 字段名 字段名类型 字段描述符,字段名 字段类型 字段描述符);
删除表
drop table test;
语法:drop table 表名称;
修改表
添加字段
alter table t1 add(score int not null);
1
语法:alter table 表明称 add(字段名 类型 描述符);
移除字段
alter table t1 drop column score;
1
语法:alter table 表名 drop colunm 字段名,drop colunm 字段名;
变更字段
alter table t1 change name score int not null;
1
语法:alter table 表名 change 旧字段名 新字段名 新字段描述符
插入
全字段插入
insert into winton values(001,’zww’),(002,’rs’);
1
语法:insert into 表名 values(字段1值,字段2值,……),(字段1值,字段2值,……);
个别字段插入
insert into winton(id) values(004);
1
insert
查看插如后的结果,如上图所示。
语法:insert inton 表名(字段名) values(值一),(值二);
普通查询
单表全字段查询
select * from t1;
1
语法:select * from 表名;
单表个别字段查询
select id from t1;
1
语法:select 字段一,字段二 from 表名;
多表查询
select t1.id,t1.score,winton.name from t1,winton;
1
多表查询
语法:select 表一字段,表二字段,表三字段,…… from 表一,表二,表三,……;
条件查询
单表条件查询
select * from t1 where socre>90;
1
语法:select 字段1,字段2 from 表名 where 条件;
多表条件查询
select t1.id,t1.score,winton.name from t1,winton where t1.id=winton.id;
1
winton
语法:select 表一字段,表二字段 from 表一,表二 where 条件;
嵌套查询
select name from winton where id=(select id from t1 where score=90);
1
这里写图片描述
语法:select 字段一,字段二…… from 表名 where 条件(查询);
并查询
(select id from t1 )union(select id from winton);
1
并查询
交查询
select id from t1 where id in (select id from winton);
1
这里写图片描述
删除
delete from winton where id=4;
1
语法:delete from 表名 where 条件;
更新
update t1 set score=69 where id=2;
1
语法:update 表名 set 更改的字段名=值 where 条件;
多个表的UPDATE操作
UPDATE items,month SET items.price=month.price WHERE item.name="name" AND items.id=month.id;
常用函数
求和
select sum(score) from t1;
1
注:sum(字段) 对字符串和时间无效
求平均值
select avg(score) from t1;
1
注:avg(字段)对字符串和时间无效
计数
select count(*) from t1;
1
注:count(字段名)不包含NULL;
这里写图片描述
求最大值
select max(name) from winton;
1
注:max(colunm)返回字母序最大的,返回数值最大的
求最小值
select min(name) from winton;
1
注:min(colunm)返回字母序最小值,返回数值最小值
常用的修饰符
distinct 字段中值唯一
select distinct name from winton;
1
limit查询结果数限制
select * from winton limit 2;
1
order by 排序
select * from winton order by name;
1
注:默认是升序
desc 降序
slelect * from winton order by name desc;
1
asc 升序
select * from winton order by name asc;
1
group by 分组
select name from winton group by name;
1
索引
创建普通索引
create index wintonIndex on winton (name);
1
语法:create index 索引名称 on 表名 (字段一,字段二,……);
创建唯一索引
create unique index wintonIndex on winton (id);
1
语法:create unique index 索引名 on 表名 (字段一,字段二,……);
ps:unique index 要求列中数据唯一,不能出现重复。
移除索引
drop index wintonIndex on winton;
1
语法: drop index 索引名 on 表名;
结尾
恩,基本能想起来的就值么多了,都是最基础,最常用的一些。
转自:
race condition:
1. 使用atmic upate: update table set tries=tries+1 where condition=value;
2. 使用transactions(事物),仅在engine是Innodb时可用。
本文标签: SQL基本语句汇总
版权声明:本文标题:SQL基本语句汇总 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686635745h20054.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论