SQL基础

2021-05-10  本文已影响0人  账号已被注销

// 默认情况下有4个数据库
information_schema // 保存了mysql的元数据信息 表名,字段名等
mysql // 保存了mysql的用户信息,权限信息等
performance_schema // 保存了mysql运行时的日志信息
test // 测试数据库 ( 可以自己折腾的数据库 ) 

-- create table 表名(字段1 数据类型(数据长度) 默认值 约束条件 字段备注,字段2,字段3...) 表属性
create table table1(
  id int not null primary key auto_increment comment '这个是id,主键,自增长' ,
  name varchar(64) comment '这个是备注' ,
  username varchar(64) unique comment '这个是用户名,唯一'  ,
  status tinyint(1) not null default 1 comment '这个是状态,非空',
  scope int comment '这个是备注',
) comment '这个是表注释';

-- insert into 表名values(值1,值2...)
insert into table1 values(001,'张三','zhangsan',0,90);

-- insert into 表名 (字段1,字段2...) values(值1,值2...)
insert into table1(id,name,username,status,scope) values(002,'李四','lisi',0,70);

-- insert into 表名 (字段2,字段3...) values(值1,值3...)
insert into table1(username,status,scope) values(003,'wangwu',1,50);
-- insert into 表名 (字段1,字段2...) values(值1,值2...),(值1,值2...)
insert into table1(id,name,username,status,scope) 
values 
(001,'张三','zhangsan',0,90),
(002,'李四','lisi',0,70),
(003,'王五','wangwu',1,50),
(004,'张三','zhangsan2',0,82),
(005,'李四','lisi2',0,77),
(006,'王五','wangwu2',1,53);
-- update 表名 set 字段1 = 值1,字段2 = 值2 条件;
update table1 set status = 0 where id = 001;
-- delete from 表名 条件
delete from table1 where id = 003;

-- select 字段1,字段2 from 表名
select id,username from table1;

-- select 字段1 as 别名,字段2 as 别名 from 表名
select id as a,username as b from table1;

-- select * from 表名
select * from table1;

-- select * from 表名 条件
select * from table1 where id = 001;

-- select * from 表名 条件 分页
select * from table1 limit 1;

-- select * from 表名 排序(asc正序,desc倒序) 分页
select * from table1 order by id desc limit 1;

-- 查询某个字段并去重:select distinct 字段 from 表名 
select distinct name from table1 ;
-- 查询 id = 1 的数据
select * from table1 where id = 1;
-- 查询 id > 1 的数据
select * from table1 where id > 1;
-- 查询 id < 1 的数据
select * from table1 where id < 1;

-- 查询 id > 1 并且 id < 10 的数据
select * from table1 where id > 1 and id < 10;
-- 查询 id > 1 或者 id < 10 的数据
select * from table1 where id > 1 or id < 10;
-- 查询 id = 1 或者 id = 5 或者 id = 10 的数据
select * from table1 where id in (1,5,10);

-- 查询 username= 'zhangsan' 的数据
select * from table1  where username = 'zhangsan';
-- 查询 username 以 'zhang' 开头的数据
select * from table1  where username like 'zhangsan%';
-- 查询 username以 'zhang' 结尾的数据
select * from table1 where username like '%zhangsan';
-- 查询 username包含 'zhang' 的数据
select * from table1 where username like '%zhangsan%';

-- 查询总数 select count(*) from 表名
select count(*) from table1; --
-- 求和 select sum(字段名) from 表名
select sum(scope) from table1; --
-- 求平均数 select avg(字段名) from 表名
select avg(scope) from table1; --
-- 求最小值 select min(字段名) from 表名
select min(scope) from table1; --
-- 求最大值 select max(字段名) from 表名
select max(scope) from table1; --
-- select 字段 from 表名 gropu by 字段
select *,sum(scope) as sum1 from table1 group by name; --

-- select 字段 from 表名 gropu by 字段 having 字段
-- where不能和聚合函数一起使用,所以使用having
select *,sum(scope) as sum1 from table1 group by name having sum1 > 100; --

-- where后面之所以不能使用聚合函数是因为where的执行顺序在聚合函数之前
如 : select  *,sum(scope ) from table1   group by table1.name where sum(scope )>100;
-- having既然是对查出来的结果进行过滤,那么就不能对没有查出来的值使用having
如 :select  id,name from table1   having scope >90;
-- select * from 表名 条件 分页 条数
select * from table1 limit 1;

-- select * from 表名 条件 分页 页数,条数
select * from table1 limit 1,1;
-- alert table 表名 操作方式 字段 数据类型 约束条件
alter table table1 add age unique;

-- alert table 表名 操作方式 字段 数据类型 约束条件
alter table table1 update age varchar(11) not null unique;

写作不易,如果这篇文章对你有帮助,阅读之后别忘记点个赞哦!

小白程序员,若有不对的地方欢迎各位大佬指出~

上一篇下一篇

猜你喜欢

热点阅读