赞
踩
1.下载rpm包
本文章使用的系统是Linux,所以你需要下载一个mysql的rpm包
https://dev.mysql.com/downloads/
根据系统版本下载,CentOS RedHat点Yum Repository ,Debian,Ubuntu点APTRepository
看不懂英文的话点下面:
https://pan.baidu.com/s/1e_BiwHa5Ghey4FNtKYhcmw
ar72
2.安装rpm包
下载后会有一个tar结尾的包,解压然后yum安装
需要安装的mysql支持包,输入命令 yum -y install mysql-community*
3.启动并查看状态
4.第一次使用mysql
如果是第一次使用mysql,你需要去日志文件中查看mysql默认生成的密码
5.修改默认密码
mysql要求修改默认密码,否则你没有权限做任何操作
如果你要修改mysql密码,你应该知道当前的默认密码策略(默认是2)和密码长度
密码策略
0:只验证长度
1:密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
2:密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。且生成目录
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
6.卸载mysql
1)查找是否安装mysql包
rpm -qa | grep -i mysql
2)停止mysql服务
systemctl stop mysqld
3)删除mysql服务包
yum -y remove mysql*
如果提示你未找到依赖包
你需要一条一条的删除这些包,默认大概8-12个包,输出命令 rpm -qa | grep -i mysql
可以先删除mysql-community-common这个包
4)清除mysql遗留文件
for i in `find / -name mysql`
do
rm -fr $i
done
5)删除mysql配置文件
MySQL的/etc/my.cnf文件不会删除,需要手动删除
rm -f /etc/my.cnf
1.本地登录mysql和远程登录mysql
如果你想远程别人的数据库,首先确保你自己的主机上安装了mysql软件
2.查看/删除/创建库的相关操作
查看库:show databases; //查看所有库
select database(); //查看当前使用的库
选择库:use 库名;
创建库: create database 库名
删除库: drop database 库名;
3.查看/删除/创建表的相关操作
查看表: show tables;
查看表字段 : desc 表名;
desc 表名\G; //查看表结构,以列表形式展现,末尾不用分号
查看表编码 : show create table 表名;
创建表 : create table 表名 (字段名 字段类型);
修改表名:alter table 原始名 rename 被修改名;
删除表: drop tabke 表名;
4.修改字符集
若要修改MySQL服务的默认字符集,可以更改服务器的my.cnf配置文件,添加character_set_server=utf8 配置,然后重启数据库服务,其他字符集更改操作https://blog.csdn.net/ck784101777/article/details/100574268
1.字符类型
固定大小字符/非固定大小字符
char ; varchar
2.数值类型
整数/浮点型
int ; bigint ; tinyint ; float ; double
3.时间类型
4.枚举类型
多选/单选
set ; enum ;
5.添加字段
1)在表最后添加一条字段
ALTER TABLE 表名 ADD 字段名 字段类型;
ALTER TABLE tea6 ADD address varchar(48);
2)在表中某个字段后添加一条字段
ALTER TABLE 表名 ADD 字段1 字段类型 AFTER 字段2;
ALTER TABLE tea6 ADD address varchar(48) AFTER age;
3)修改字段名和字段类型
ALTER TABLE 表名 CHANGE 字段1字段2 字段类型; //将字段1的名称改为字段2,并且修改类型
ALTER TABLE tea6 CHANGE gender address varchar(48);
4)删除字段
ALTER TABLE 表名 DROP 字段名;
ALTER TABLE tea6 DROP sex;
约束分六种:
主键约束:primary key
要求作为主键的字段的字段值非空且唯一
非空约束: not null
要求:有非空约束的字段不可以为null值。
唯一性约束:unique
要求有唯一性约束的字段不可以重复,但是可以为null.
检查性约束: check(条件)— check(gender in(‘f’,’m’))
要求在插入数据时必须符合字段的检查条件,但是可以为null
PS:在mysql中chack无效,一般使用枚举gender enum('f','m'),来代替gender varchar(1) check(gender in('f','m'))
外键约束: foreign key
要求:有外键约束的字段A必须依赖于另外一个字段B,
字段B要有主键约束。
字段A的值,要么是null, 要么必须是字段B里的值
默认值约束:default
定义默值类型,如 age int default 1 ,若在插入时不填则默认为1
键值类型有五种:
index 普通索引
unique 唯一索引
fulltext 全文索引
primary key 主键
foreign key 外键
索引介绍
1)索引是一种类似与书本的目录的存在
2)索引对表中字段进行排序,以大小排序或者字典序列排序
3)索引类型包括Btree,B+tree,Hash
如图所示就是一个平衡树,满足任意一个节点的值小于其左孩子的值,大于其右孩子的值
索引优缺点:
索引优点
1)通过创建唯一性索引,可以保证数据表中每一条数据具有唯一性
2)可以加快查找的速度(采用二分查找)
索引缺点:
1)对表中数据进行增加,修改删除的时候,索引值也需要动态调整,降低了维护速度
2)索引也需要占用物理空间
1. Index普通索引
规则有四:
1)一个表中可以有多个Index索引
2)字段值允许重复,且可以为null
3)通常将查询条件作为Index索引值,如为性别添加索引,可以区分出男女
4)Index的字段标志是MUL
如图创建一个表将id和name作为Index索引,查看表结构标记为MUL
删除Index索引
drop INDEX 字段名 ON 表名;
drop INDEX name ON tea4;
在已有表中添加Index索引
CREATE INDEX 索引描述 ON 表名(字段名);
CREATE INDEX nianling ON tea4(age);
查看表中Index索引值
SHOW INDEX FROM 表名\G
SHOW INDEX FROM tea4\G
2.Primary Key 唯一主键
规则:
1)不允许重复,不允许为NULL
2)一个表中只能有一个Primary Key
3)多个字段作为Primary Key,称为复合主键,必须一起创建
4)字段标识为PRI
5)主键通常与auto_increment连用
6)通常把表中唯一的标识记录的字段作为主键,如在表中一般有id字段作为主键类型
建表时创建主键:
在已有表中创建/删除主键
创建: alter table 表名 add primary key(字段名)
删除: alter table 表名 drop primary key(字段名)
在表中创建/删除复合主键:
alter table 表名 add primary key(字段名1,字段名2....字段名n)
alter table 表名 drop primary key(字段名1,字段名2....字段名n)
以name,class作为复合主键
3.foreign key 外键
规则:
1)表存储引擎必须是innodb
2)两表之间的关联字段必须是同一类型
3)被参照字段必须是索引类型的一种(primary key)
创建表时创建外键:
CONSTRAINT `外键名` FOREIGN KEY (本表字段) REFERENCES '外表名'(`外表字段名`)
->ON DELETE CASCADE ON UPDATE CASCADE;
在一条语句将本表的字段关联到外表的某个字段,并且设置级联属性,当外表字段被删除或更新的时候本表字段动态改变
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。