什么是数据库:
数据库顾名思义就是存储数据和特殊文件的仓库,由表组成。 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