装包 // rpm 方法
1.1 删除系统自带mariadb mysql数据库软件
]#rpm -qa | grep -i mariadb
]#systemctl stop mariadb
]#rpm -e --nodeps mariadb-server mariadb
]#rm -rf /etc/my.cnf
]#rm -rf /var/lib/mysql
1.2 安装mysql软件
]# tar -xf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
]# ls *.rpm
]# rm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm
]# yum -y install perl-JSON
]# rpm -Uvh mysql-community-*.rpm
]# rpm -qa | grep -i mysql
1.装包 // yum方法
]# yum -y install mysql-community-server
]# systemctl start mysqld //启动服务生成配置文件
]# grep password /var/log/mysqld.log //查找初始密码
]# mysql -hlocalhost -uroot -p'密码'
mysql>set global validate_password_policy=0; //修改密码安全策略
mysql>set global validate_password_length=6; 更改密码长度最低为6
mysql> alter user root@"localhost" identified by '123456'; //修改密码为123456
mysql> set password='123456'; //修改密码的另一种方法
让密码策略永久生效
]#vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
:wq
]#systemctl restart mysqld
管理数据库的sql命令
查看 show databases;
切换 use 库名;
创建库 create database 库名;
删除库 drop database 库名;
显示当前所在的库 select database();
管理表的sql命令
查看表内容 select * from 库名.表名;
创建表结构 create table 表名(字段名 数值类型); //以逗号为分隔
插入 insert into 库名.表名 values(字段值列表);
删除表 drop table 表名;
查看表结构 desc 表名;
例子
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
字段名 | 字段类型 | 是否为空 | 是否 | 默认 | 描述信息 |
删除表中内容 delete from 库名.表名;
delete from gamedb.stuinfo;
修改表内容 update 库名.表名 set 字段名=值 where 条件;
例子: update test.t1 set age=15 where name=’acfc’;
把test库里的t1表中名字为acfc的age里的值改为15
mysql 数值类型
数值类型
类型 | 大小 | 范围(有符号/Signed) | 范围(无符号/Unsigned) | 用途 |
---|---|---|---|---|
TINYINT | 1字节 | -128~127 | 0 ~ 255 | 微小整数 |
SMALLINT | 2字节 | -32768~32767 | 0 ~ 65535 | 小整数 |
MEDIUMINT | 3 字节 | -223 ~ 223 -1 | 0 ~ 224 -1 | 中整数 |
INT | 4 字节 | -231 ~ 231 -1 | 0 ~ 232 -1 | 大整数 |
BIGINT | 8 字节 | -263 ~ 263 -1 | 0 ~ 264 -1 | 极大整数 |
FLOAT | 4 字节 | 单精度浮点数 | ||
DOUBLE | 8 字节 | 双精度浮点数 |
整数型
• 关于整数型字段
– 使用 UNSIGNED 修饰时,对应的字段只保存正数
– 数值不够指定宽度时,在左边填空格补位
– 宽度仅是显示宽度,存数值的大小由类型决定
– 使用关键字 ZEROFILL 时,填 0 代替空格补位
– 数值超出范围时,报错
浮点型
• 关于浮点型字段
– 定义格式: float( 总宽度 , 小数位数 )
– 当字段值与类型不匹配时,字段值作为 0 处理
– 数值超出范围时,仅保存最大 / 最小值
字符类型
• 定长: char( 字符数 )
– 最大长度 255 字符
– 不够指定字符数时在右边用空格补齐
– 字符数断超出时,无法写入数据。
• 变长: varchar( 字符数 )
– 按数据实际大小分配存储空间
– 字符数断超出时,无法写入数据。
• 大文本类型: text/blob
– 字符数大于 65535 存储时使用
日期时间类型
• 日期时间, DATETIME
– 占用 8 个字节
– 范围: 1000-01-01 00:00:00.000000
~ 9999-12-31 23:59:59.999999
• 日期时间, TIMESTAMP
– 占用 4 个字节
– 范围: 1970-01-01 00:00:00.000000
~ 2038-01-19 03:14:07.999999
• 日期, DATE
– 占用 4 个字节
– 范围: 0001-01-01 ~ 9999-12-31
• 年份, YEAR
– 占用 1 个字节
– 范围: 1901~2155
• 时间, TIME
– 占用 3 个字节
– 格式: HH:MM:SS
时间函数
类 型 | 用 途 |
---|---|
now() | 获取系统当前日期和时间 |
year() | 执行时动态获得系统日期时间 |
sleep(N) | 休眠 N 秒 |
curdate() | 获取当前的系统日期 |
curtime() | 获取当前的系统时刻 |
month() | 获取指定时间中的月份 |
date() | 获取指定时间中的日期 |
time() | 获取指定时间中的时刻 |
枚举类型
• 从给定值集合中选择单个值, ENUM
– 定义格式: enum( 值 1, 值 2, 值 N)
• 从给定值集合中选择一个或多个值, SET
– 定义格式: set( 值 1, 值 2, 值 N)
例子
mysql> create table class(
-> name varchar(4),
-> gender enum('boy','girl'), //enum只能选择一个值
-> likes set('book','film','music','football') //set可以选择多个
-> );