SQL语句1

发布于:2023-01-02 ⋅ 阅读:(406) ⋅ 点赞:(0)

一、数据库操作


mysqldump -uroot -proot empdb>empdb.2022.9.8.sql 导出数据库
source empdb.2022.9.8.sql 导进数据库

mysql -uroot -p 登录
show databases;展示数据库
create database db2 charset=utf8;创建并设置字符集
drop database 数据库名 删除数据库
show create database test; 展示数据库信息
use 数据库名  使用数据库

二、表的操作

create table person(name varchar(85),age int);创建表
show tables;展示表
show create table car;查看表
desc car;查看字段
drop 表名 删表
rename table person to per;修改表名

三、字段操作

        3.1添加字段
alter table per add laji int;添加字段
alter table per add jiji int first;添加字段到最前
alter table per add tianjia int after laji;添加字段到某字段的后面
alter table 表名 drop 字段;删除字段
alter table 表名 change 旧字段名 新字段名 类型;修改字段

        3.2插入字段
insert into person values('tom',54);全表插入
insert into person(name) values('jerry');指定字段插入
insert into person values('zhangsan',11),('lisi',41),('wangwu',12);批量插入
insert into person(name) values('lilei'),('hanmeimei');指定字段批量插入

        3.3查询字段
set names gbk;
select name from person where age>20;按条件查询
select *from 表名;查询所有

        3.4更新字段
updata person set age=50 where name='tom';修改数据

        3.5删除字段
detele from person where name='李雷';删除字段
delete from person where age is null;删除字段为null的字段时用 is 

        3.6添加主键,自增约束

create table t5(id int primary key,name varchar(20));主键约束

create table t6(id int primary key auto_increment,name varchar(2));自增,从历史最大值开始增,第一个id值可以写null,可以写1;不会从0开始

        3.7 创建时间字段                                          

create table day02(age int(5) zerofill);补零;
create table t2(price double(5,3));定义小数 共5位长,小数位3位.
create table times1(t1 date,t2 time,t3 datetime,t4 timestamp);创建时间
data:年月日 time:时分秒 datetime:年月日时分秒 timestamp:时间戳,当前时间.


        3.8 between and 在区间内
比较运算符 > < >= <= = != <>(!=的另一种写法).
>0 包含大于0和null
可以有负的编号
select *from emp where sal not between 2000 and 3000 ;工资不在2000到3000之间的员工
select *from emp where not between 2000 and 3000 ;在两者之间

        3.9多个值查询 in
select *from emp where job in('销售','人事'); 查询某个字段的值为多个值的时候使用 in

        3.10去重distinct
select distinct job from emp where dept_id=1; distinct 在查的子段前加上去重.

        3.11模糊查询
select name from emp where name like '菜%';模糊查询以菜开头的名字
select name from emp where name like '菜_';模糊查询以菜开头的名字并且是两个字的名字

        3.12 order by 升序降序
select *from emp order by name asc;升序 order by name默认升序不写asc也可以
select *from emp order by sal desc;降序
select *from emp where order by dept_id,sal;多级排序后面加 ,.

        3.13分页
select id,name,job from emp order by sal limit 0,5;分页显示 显示前五条数据(5,5从5条开始,显示后五条)

        3.14 别名
select name as '姓名' from emp; 别名
select name  ''姓名'' from emp;
select name  姓名 from emp;

        3.15绝对值

select abs(sal) 绝对值

四、聚合函数


select avg(sal) from emp;平均值
select max(sal) from emp;最大值
select min(sal) from emp;最小值
select count(*) from emp where dept_id=1;计数
select avg(sal) from emp group by dept_id;分组查询

本文含有隐藏内容,请 开通VIP 后查看