首页 > 数据库 >SQL语句

SQL语句

时间:2022-10-10 17:15:15浏览次数:40  
标签:语句 数据 数据库 SQL sex 表名 where select

什么是数据库:

数据库顾名思义就是存储数据和特殊文件的仓库,由表组成。
1.一列存储相同类型的内容:字段数据
2.一行存储某个事物的相关信息:记录

数据库分为两种类型分别为*关系型数据库*和*非关系型数据库*
关系型数据库:mysql、Oracle、SqlServer等
非关系型数据库:MongoDB、Redis等

什么是SQL语句

所有的数据库都是由sql语句来进行控制的。

SQL

安装mysql进行练习,也可直接使用禅道自带的MariaDB,MariaDB是由mysql演变而成的。
此次使用mysql进行练习。

注!:

1.自己安装的mysql和禅道自带的服务只能开一个
2.禅道数据库密码可以开启禅道在“密码”--“数据库密码”中修改。

其他

登录
mysql -uroot -p12345678  
-u:user(用户) 
-p:password(密码)

查看数据库编码格式
show create database 库名;

单独修改表的编码方式
alter table 表名 canvert to charset=utf8;

显示时间
select now();

显示数据库版本
select version();

数据"库"操作

查看所有数据库 show

show databases;

创建数据库create

create database 库名 charset=utf8;

注!:
创建数据库的时候,需要给定编码方式---charset=utf8(中文编码)

切换/进入数据库 use

use 库名;

删除数据库 drop

drop database 库名;

表操作

创建表 create

create table 表名(字段 类型 约束条件,字段2 类型 约束条件,字段3 类型 约束条件);
类型: 
int(数字) 
int unsigned(无符号整型),
varchar(20):字符串
float:浮点
decimal:浮点
text:文本
date:日期
datetime:日期+时分秒
time: 时分秒
enum:枚举

约束条件:
not null: 不能为空
PRIMARY KEY:主键,在表中唯一
AUTO_INCREMENT:自增, 配合主键用 
UNIQUE:唯一
default: 设置默认值的

修改表结构 alter

添加字段
alter table 表名 add 字段 类型 约束;

删除字段
alter table 表名 drop 字段;

增(插入数据)insert

insert into 表名 values(数据1,数据2);

插入多条数据
insert into 表名 values(数据1,数据2),(数据1,数据2);

插入部分数据
insert into 表名(字段1,字段2) values(数据1,数据2);

删(删除数据)delete

delete from 表名 where 条件;

改(修改数据) updata

updata 表名 set 字段=新数据,字段2=新数据 where 条件;

查(查询数据) select

查询所有
select * from 表名;

查询符合条件的数据
select * from 表名 where 条件;

查询符合条件并只显示部分需要的字段
select 字段,字段2 from 表名 where 条件;
条件:
逻辑运算:and(与) or(或) not(非)
比较运算符:>,<,=,>=,<=,!=
between and 90:在80~90之间,连续区间
in:不连续区间,固定的数字

模糊查询 like

查询包含某个字的数据
select * from 表名 where 字段 like "%X%";

查询以某个字开头的数据
select * from 表名 where 字段 like "X_%";

查询两个字中只知道开头的数据
select * from 表名 where 字段 like "X_";

排序 order by

升序
select * from 表名 order by 字段 asc;

降序
select * from 表名 order by 字段 desc,字段2 desc;

分页 limit n,m

select * from 表名 where 字段>=XX limit X,X;

注!:
limit要放在where的后面

limit n      查询n条数据
limit n,m
m:查询的起始位置,索引(从0开始),(页数-1)*每页的数量
n:查询的条数

分组 group by,group_concat()

男女,未知性别的人各多少
select sex,count(*) from stu group by sex;
根据性别分组,显示各个组的性别和姓名
 select sex,name from stu order by sex;
 select sex,group_concat(name) from stu group by sex;
 查询平均年龄>18的组及对应的姓名
 select sex,group_concat(name) from stu group by sex having avg(age)>18;
按性别分组并查询年龄大于18的人
  select sex,group_concat(name) from stu where age>18 group by sex;
 

聚合函数/组函数:
count(字段) 个数
sum(字段) 总数
avg 平均数
max 最大值
min 最小值

子查询

select 字段 from 表名 where 字段=(select 关联字段 from 表名 where 字段="");

标签:语句,数据,数据库,SQL,sex,表名,where,select
From: https://www.cnblogs.com/sunjunyu/p/16776355.html

相关文章

  • Mysql:为什么使用索引以及索引的优缺点
    索引概述索引优缺点优点(1)是索引的关键,优点(3)和优点(4)其实是创建索引后顺带的福利。缺点(1)和(2)是小缺点,真正的大缺点是(3)。好比你在原本已经订好目录的书上再插入新的1页,意......
  • MySQL练习题2
    6,取得平均工资最高的部门的部门名称。selectd.dname,avg(e.sal)asavgsalfromempejoindeptdone.deptno=d.deptnogroupbyd.dnameorderbyavgsaldescli......
  • 备份 MySQL 的 shell 脚本(mysqldump版本) shell脚本
    #!/bin/bash#备份MySQL的shell脚本(mysqldump版本)#定义变量user(数据库用户名),passwd(数据库密码),date(备份的时间标签)#dbname(需要备份的数据库名称,......
  • 检测 MySQL 服务是否存活 shell脚本
    #!/bin/bash#检测MySQL服务是否存活#host为你需要检测的MySQL主机的IP地址,user为MySQL账户名,passwd为密码#这些信息需要根据实际情况修改后方可使......
  • [转]MySQL中 IS NULL、IS NOT NULL、不等于是否走索引策略
    告诉大家结论:MySQL中决定使不使用某个索引执行查询的依据就是成本够不够小,如果null值很多,还是会用到索引的。自己做了个验证:一个大概3万数据的表,如果只有10多个记录是null......
  • mysql树型结构查询父类函数,mysql递归查询父类函数
     ================================©Copyright蕃薯耀 2022-10-10https://www.cnblogs.com/fanshuyao/ 一、MySQL中创建函数时出现错误的解决方法此步可跳过不......
  • [转]SQL标准对schema如何定义?(不同数据库中schema模式的意义)
    原文地址:SQL标准对schema如何定义?-知乎(zhihu.com)SO/IEC9075-1SQL标准中将schema定义为描述符的持久命名集合(apersistent,namedcollectionofdescriptors),如果......
  • 空值、NULL的对比(tdsqlVSPG)
    NULL值的对比PG\mysql中空字符串与null是不同的;而oracle中,空字符串与null等同。NULL和''ORACLE认为''等同于NULL,'a'||null结果是'a'NULL和''不同,'a'||null结......
  • MySQL中常见的约束(Constraints)
    0.约束的概念SQL约束用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。1.主键约束PRIMARYKEY约束唯一标识数据库表中的每条记录。要求必须包含唯......
  • 16. JS for of循环语句的用法
    1.前言JSforof循环是ECMAScript6中新添加的一个循环方式,与 forin 循环类似,也是普通 for 循环的一种变体。使用forof循环可以轻松的遍历数组或者其它可遍历......