MySQL 基础知识总结
MySQL 基本操作
SQL 定义:
SQL 是用于访问和处理数据库的标准的计算机语言。
- SQL 指结构化查询语言
- SQL 使我们有能力访问数据库
- SQL 是一种 ANSI 的标准计算机语言 (注:ANSI,美国国家标准化组织)
MySQL 定义:
- MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
- MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
MySQL 数据库服务的登录操作
mysql -h 主机名 -u 用户名 -p:在‘超级终端’中可以使用命令的方式进入到mysql数据库的控制管理交互程序。
h:后面接的是主机名,表示你要连接到哪台主机的MySQL数据库。
u:后面接的是用户名,MySQL默认的就是root。
p:指定需要使用密码登陆MySQL数据库,如果密码为空,该参数可以省略。
MySQL 数据库常用操作
查看mySql中的数据库数据
show databases;
查看正在使用的数据库
select database();
进行对应数据库信息的创建操作
create database 数据库名;
在创建数据库的时候制定编码格式,一般为utf8
create database 数据库名 character set utf8;
选择要操作的数据库
use 数据库名;
进行对应数据库的删除操作
drop database 数据库名;
MySQL 常用数据表格操作
进行对应数据表信息的创建操作
create table 数据表名();
字段属性不为空
not null
字段属性整型不包含负数
int unsigned
设置为主键
primary key
设置为外键
foreign key
foreign key (Id_p) refernces persons(Id_p)
自增长,aotu_increment=1000,自增长从1000开始
aotu_increment
查看对应的表结构
describe 表名;
查询创建表示的conment说明数据信息
show full fields from ih_user_profile;
进行对应数据表的删除操作
drop table 数据表名;
为指定数据表中添加对应的属性
alter table 表名 add 属性名 类型;
为指定的数据表中的属性进行修改操作
alter table 表名 change 老的属性名 新的属性名 类型;
进行指定数据表中对应属性的删除操作
alter table 表名 drop 属性名;
重命名数据库表
alter table 数据库表名 rename 新数据库表名;
撤销外键约束
alter table 数据库表名
批量替换指定数据字符串信息
update 数据库表名 set default_image_url=replace(default_image_url, 'http://10.211.55.5:8888', 'http:/xxxx.xx.xx.xx:8888')
MySQL 常用数据操作
对应数据的添加操作
insert into 数据表名 (属性1、属性2、属性3) values (内容1、内容2、内容3);
删除指定数据表中的数据
delete from 数据表名;
数据表对应数据的修改操作
update 数据表 set 属性1=内容1;
数据的条件查询
select 列名称 from 数据库表名 where 查询条件;
过滤查询出来的重复数据
distinct
逻辑与/逻辑或。
and/or
注:如果在查询条件中,使用了or与and,那么and的优先级要高于or,解决的办法是添加小括号()
逻辑非
not
为空/不为空
is null/is not null
like与通配符使用实现模糊查询,in判断字段是否在其后面的小括号中
like/in
通配符%/_:%表示任何字符出现任意次数,下划线只能匹配一个字符。
对搜索出来的数据按照一定格式来显示
concat
concat(name,'(',sum,')')
分组查询(group by 必须在where子句之后,在order by子句之前)
group by
类似于之前使用的where过滤一样,如果想要对分组的结果进行过滤的话,那么就需要使用having
having
指定字段进行排序
order by asc/desc
ASC 顺序操作
DESC 逆顺序操作
分页显示
limit(3,3)
第1个数字,表示开始显示的位置
第2个数字,表示显示个记录的个数
默认显示的位置是从0开始的
内联结查询
inner join ... on
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
左联结查询,与inner join ... on 操作类同
left join ... on
右联结查询,与inner join ... on 操作类同
right join ... on
组合查询
union/union all
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
MySQL 常用的聚合函数,可与分组配合使用
返回某列的平均值
avg()
返回某列的行数
count()
返回某列的最大值
max()
返回某列的最小值
min()
返回某列值的和
sum()
MySQL 常用的数据类型
整型
tinyint:有符号值:-128到127 无符号值:0到255(2^8-1)
smallint:有符号值:-32768到32767 无符号值:0到65535(2^16-1)
mediumint:有符号值:-8388608到8388607 无符号值:0到16777215(2^24-1)
int:有符号值:-2147483648到2147483647 无符号值:0到4294967295(2^32-1)
bigint:有符号值:-2^63到2^63-1 无符号值:0到2^64-1
浮点型
float(M,N):小数加整数部分一共是M位,N表示小数位;总共占用4字节
double(M,N):小数加整数部分一共是M位,N表示小数位;总共占用8字节
时间类型
date(4字节):1000-01-01/9999-12-31 YYYY-MM-DD 日期值
time(3字节):'-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
year(1字节):1901/2155 YYYY 年份值
datetime(8字节):1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
字符类型
char:0-255字节 定长字符串
varchar:0-255字节 变长字符串
tinytext:0-255字节 短文本字符串
text:0-65535字节 长文本数据