当前位置: 首页 > news >正文

数据库SQL语句使用

-- 查询所有数据库

show databases;

-- 创建数据库,数据库名为mydatabase

 

create database mydatabase;


-- 如果没有名为 mydatabase的数据库则创建,有就不创建

 

create database if not exists mydatabase;

-- 如果没有名为 mydatabase的数据库则创建,有就不创建,数据库字符编码设置为utf8mb4

create database if not exists mydatabase character set utf8mb4;

-- 使用数据库

use mydatabase;

-- 删除名为mydatabase的数据库

drop database mydatabase;

-- 如果有名为 mydatabase的数据库则删除,没有就不删除

drop database if exists mydatabase;

-- 查看mydatabase数据库的表结构

desc mydatabase;

-- 创建表,comment用于字段说明,创建一个表有id,name,gender,age,class字段

create table mytable(id int not null ,name varchar(20) not null comment '姓名',gender varchar(2) not null comment '性别',age int not null comment '年龄',class varchar(20) not null comment'班级'
);

-- 删除名为mytable的表

drop table mytable;

-- 如果存在则删除mytable表,不存在就不删除

drop table if exists mytable;

-- 数据库主要有增删查改等操作

-- 创建一个学生表student,字段有id ,sn, name,qq_meail

create table student (id int ,sn int comment '学号',name varchar (20) comment '姓名' ,qq_email varchar(32) comment 'qq邮箱'
);

-- 增,插入数据

insert into student (id,sn,name,qq_email) values (1,'10000','张三','123456@qq.com');

-- 可以指定列插入
 

insert into student (sn,name,qq_email) values( '1002','李四','234567@qq.com');


 -- 查,查询记录
 -- 查询student表里所有字段
 -- 一般不用这种全列查询,因为全列查询效率低

 select * from student;


 -- 查询student表里的指定列 sn,name,qq_email

 select sn,name,qq_email from student;


 
 -- 查询字段也可以进行表达式运算

 select sn+10,name,qq_email from student;


 -- 再比如,插查询字段为id, name, chninese,english,math三门成绩相加

 select id,name,chinese+english+math from student;


 -- 数据库约束
 
 -- NULL约束,当字段设置为not null,那么这一列就不能为空

 create table student (id int  not null ,name varchar(32) not null,age int not null);


 
 -- unique约束:指定字段的某列是唯一的,不可以重复的
 -- 创建一个学生表,id为主键自增,sn设置为唯一的unique

 drop table if exists student ;create table student(id int not null primary key auto_increment,sn int unique comment '学号',name varchar(32) not null comment '名字');


 -- default约束:规定没有给列赋值时可以给一个默认值
-- 当name不知道时设置默认为'未知'
 

drop table if exists student;create table student (id int not null primary key auto_increment,sn int unique comment '学号',name varchar(32) default  '未知' comment '名字');


 -- 主键约束
 -- id为主键且设为自增

 drop table if exists student;create table student (id int not null primary key auto_increment,sn int  comment '学号',name varchar(32) comment '名字');


 
 -- 外键约束:外键约束用来关联表之间的关系,可以用来关联其他表的主键
 -- 添加外键约束语法  foreign key (字段名) references (主表的列)
 

1.查询与过滤

题目:现在运营想要查看用户信息表中所有的数据,请你取出相应结果

select*from user_profile;

题目:现在运营同学想要用户的设备id对应的性别、年龄和学校的数据,请你取出相应数据

select device_id,gender,age,university from user_profile;

 题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据。

select  distinct university from user_profile;

题目:现在运营只需要查看前2个用户明细设备ID数据,请你从用户信息表 user_profile 中取出相应结果。

-- LIMIT n OFFSET m:从第m+1条开始,取n条数据
select device_id from user_profile limit 2 offset 0;

题目:现在你需要查看前2个用户明细设备ID数据,并将列名改为 'user_infos_example',,请你从用户信息表取出相应结果。

select device_id as user_infos_example from user_profile limit 2 offset 0;

题目:现在运营想要筛选出所有北京大学的学生进行用户调研,请你从用户信息表中取出满足条件的数据,结果返回设备id和学校。

select device_id,university from user_profile where university='北京大学';

题目:现在运营想要针对24岁以上的用户开展分析,请你取出满足条件的设备ID、性别、年龄、学校。

select device_id,gender,age,university from user_profile where age>=24;

题目:现在运营想要针对20岁及以上且23岁及以下的用户开展分析,请你取出满足条件的设备ID、性别、年龄。

select device_id,gender,age from user_profile where age>=20 and age<=23;

题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据

select device_id,gender,age,university from user_profile where university!='复旦大学';

题目:现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息。

select device_id,gender,age,university from user_profile where age is not null;

http://www.lryc.cn/news/136388.html

相关文章:

  • 从零开始 Spring Cloud 12:Sentinel
  • @Resurce和@Autowired的区别
  • ResNet简介
  • 了解单例模式,工厂模式(简单易懂)
  • 【中危】 Apache NiFi 连接 URL 验证绕过漏洞 (CVE-2023-40037)
  • 【Git版本控制工具使用---讲解一】
  • NLP | 基于LLMs的文本分类任务
  • 攻防世界-base÷4
  • 【Java转Go】快速上手学习笔记(三)之基础篇二
  • 【vue 引入pinia与pinia的详细使用】
  • USACO18DEC Fine Dining G
  • fckeditor编辑器的两种使用方法
  • 数据结构,查找算法(二分,分块,哈希)
  • C++(Qt)软件调试---gdb调试入门用法(12)
  • shell和Python 两种方法分别画 iostat的监控图
  • 设计模式(9)建造者模式
  • PHP 创业感悟交流平台系统mysql数据库web结构apache计算机软件工程网页wamp
  • 工作流程引擎之flowable(集成springboot)
  • leetcode54. 螺旋矩阵(java)
  • go gorm 查询
  • Flutter GetXController 动态Tabbar 报错问题
  • Redis(缓存预热,缓存雪崩,缓存击穿,缓存穿透)
  • UE4/5Niagara粒子特效学习(使用UE5.1,适合新手)
  • from moduleA import * 语句 和import moduleA 的区别
  • 【leetcode 力扣刷题】交换链表中的节点
  • 学会Mybatis框架:让你的代码更具灵活性、可维护性、安全性和高效性【二.动态SQL】
  • Oracle 中 ROWNUM 使用问题记录
  • MySQL数据库:内置函数
  • 【C++杂货铺】探索string的底层实现
  • c++ day1