1.Mariadb(mysql)基本操作
1.:安装与初始化
1)安装
yum install -y mariadb\*
2)初始化
systemctl restart mariadb
systemctl enable mariadb
mysql_secure_installation
查看数据库版本:select 'version' ;
除设置密码外,一直摁"y"。
2.对数据库的操作
1)查库:show databases;
2)创库:create database 库名;
自定义数据库字符集创建数据库:GBK:create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF8: create database test2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
3)删库:drop database 库名;
4)进库:use 库名;
3.创建表
(1)了解常见数据类型
日期和时间数据类型
MySQL数据类型 |
含义 |
date |
3字节,日期,格式:2014-09-18 |
time |
3字节,时间,格式:08:42:30 |
datetime |
8字节,日期时间,格式:2014-09-18 08:42:30 |
timestamp |
4字节,自动存储记录修改的时间 |
year |
1字节,年份 |
整数型
MySQL数据类型 |
含义(有符号) |
tinyint |
1字节,范围(-128~127) |
smallint |
2字节,范围(-32768~32767) |
mediumint |
3字节,范围(-8388608~8388607) |
int |
4字节,范围(-2147483648~2147483647) |
bigint |
8字节,范围(+-9.22*10的18次方) |
bigint |
8字节,范围(+-9.22*10的18次方) |
浮点型
MySQL数据类型 |
含义 |
float(m, d) |
4字节,单精度浮点型,m总个数,d小数位 |
double(m, d) |
8字节,双精度浮点型,m总个数,d小数位 |
decimal(m, d) |
decimal是存储为字符串的浮点数 |
字符串数据类型
MySQL数据类型 |
含义 |
char(n) |
固定长度,最多255个字符 |
varchar(n) |
可变长度,最多65535个字符 |
tinytext |
可变长度,最多255个字符 |
text |
可变长度,最多65535个字符 |
mediumtext |
可变长度,最多2的24次方-1个字符 |
longtext |
可变长度,最多2的32次方-1个字符 |
(2) create table 表名
(
列名1 数据类型,
列名2 数据类型,
列名3 数据类型
);
实例:create table list
(
id int,
name varchar(50),
passwd varchar(100)
);
4 .查看表数据结构:desc 表名;
5.查询数据库内表详情;show tables ; !!!(查之前,要进入相应的库use 库名;)
6.删除一个表:drop table 表名;
7.修改表
(1)重命名表:
alter table 旧表名 rename 新表名;
(2)向表中添加一列:
alter table 表名 add 要添加的列名 数据类型;
(3)删除表中的一列:
alert table 表名 drop column 被删的列名;
(4)修改一个列的数据类型:
alter table 表名 modify column 列名 数据类型;
(5)重命名一个列:
alter table 表名 change column 旧列名 新列名 数据类型;
8.向表中插入语句
(1)向表中全部列都插入一条记录:
insert into 表名称 values (值1,值2,值3);
例:insert into name values (99,'zhangsan','zhangsan-passwd');
(2)指定列插入一条记录:
insert into 表名称(列1,列3) values (值1,值3);
例:insert into name(username,password) values (lisi,lisi-passwd);
9.查询数据
(1)从表格中查询数据记录:
查询表中全部列的数据记录:select * from 表名称;
例: select * from name;
(2)查询表中指定列的数据记录:select 列名1,列名2,列名3 from 表名称;
例: select username,password from name;
10.按条件查询数据
select 列名称 from 表名 where 指定列 运算符 值; (满足条件则列出指定表的一行!"*"代表所有!)
例:select * from name where id=3 ;
select username,password from name where id=3 ;
select username,password from name where id>3;
select username,password from name where id<3;
select username,password from name where id<>3; 不等于
select username,password from name where id>=3;
select username,password from name where id<=3;
11.删除一条记录:
(1)删除表中全部记录:delete * from 表名称:
例:delete * from name;
(2)删除表中指定的记录:delete from 表名称 where 列名 运算符 值:
例:delete from name where id=3; !注意字符串需要单引号!
12.更新一条记录
(1)从表中更新一条记录:update 表名称 set 列名称=新值 where 列=值;
(2)mysql管理员密码丢失找回:
1.关闭数据库:systemctl stop mariadb
2.mysqld_safe --skip-grant-tables --user=mysql &
3.进入数据库 mysql 直接进去 ,在数据库内更改用户密码:update mysql.user set password=password("新密码") where user='root' and host='localhost' ; 注!更新完毕,要使用 flush privileges ;刷新数据库,并推出 \q 。
4.mysqladmin -u root -p shutdown 注意!!在此处输入更新了的密码,然后 重启数据库: systemctl restart mariadb
公式: update name set 变量名='值' where 判断条件 and 判断条件;
13.返回结果去除重复项:
select distinct 列名称 from 表名称;
例:select distinct username from name;
14.where条件中使用逻辑组合:
select * from 表名称 where 列名1='值1' and 列名2='值2'; 必须满足and前后两个条件 ==》为真
select * from 表名称 where 列名1='值1' or 列名2='值2'; 必须满足or前后的某一个条件 ==》为真
例:select * from name where username=zhangsan and id=1 ;
select * from name where username=zhangsan or id=0 ;
15.对查询结果进行排序:
(1)从小到大排序:select * from 表名称 order by 列名称;
例:select * from name order by id;
(2)从大到小排列:select * form 表名称 order by 列名称; desc; 注意desc在这里是”倒序”的意思!
例:select * from name order by id desc;
16.mariadb用户管理
(1)创建一个mariadb数据库用户:
create user 用户名 identified by '密码' ;
例:create user Luigi identified by 'redhat-passwd';
!使用 flush privileges ;刷新!
(2)删除一个用户:drop user '用户名'@'主机名';
例:drop user 'Luigi'@'localhost';
!使用 flush privileges ;刷新!
(3)重命名用户:rename user 原用户名 to 新用户名;
例: rename user Luigi to Natasha;
!使用 flush privileges ;刷新!
(4)修改用户密码:
①修改当前用户密码:set PASSWORD=PASSWORD('新密码');
例 : set PASSWORD=PASSWORD('redhat-passwd');
!使用 flush privileges ;刷新!
②修改指定用户密码:set PASSWORD for 用户名=PASSWORD('新密码');
例:set PASSWORD for zhangsan=PASSWORD('zhangsan-passwd');
!使用 flush privileges ;刷新!
17.权限管理
(1)权限分类:1.检查用户是否能连接主机。
2.是否有操作数据库的权限。
(2)授权层级:1.全局层级
2.数据库层级
3.表层级
4.列层级
5.子程序层级
(3)使用grant指令授予用户权限,使用revoke撤销用户权限
权限分类;
select 查询权限
all 所有权限
usage (受限制!)登入权限
①授予一个用户权限grant 权限 on 层级 to '用户名'@'主机名' identified by '密码';
例:授予Luigi对全部数据库的全部管理权限:grant all on *.* to 'Luigi'@'%' identified by 'redhat';
!使用 flush privileges ;刷新!
授予Luigi对centos数据库的本地查询权限:grant select on centos.* to 'Luigi'@'localhost' identified by 'redhat';
!使用 flush privileges ;刷新!
②撤销一个用户的权限:revoke all privileges from 用户名;
例:revoke all privileges from Luigi;
!使用 flush privileges ;刷新!
(4)主机连接认证:grant all privileges on *.* to '用户'@'主机名' identified by '用户密码';
例:grant all privileges on *.* to 'Luigi'@'*.example.com' identified by 'redhat';
!使用 flush privileges ;刷新!
18.简单备份与恢复:
(1)备份一个指定的数据库:mysqldump -u root -p 数据库名称 > /备份的路径/备份文件
例:mysqldump -u root -p rhce > /root/rhce.sql
(2)恢复一个数据库:mysql -u root -p 数据库的名称 < /备份的路径/数据库名称
例 : mysql -u root -p rhce < /root/rhce.sql
1.Mariadb(mysql)基本操作的更多相关文章
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- day02 MySQL基本操作
day02 MySQL基本操作 昨日内容回顾 数据库演变史 1.纯文件阶段 2.目录规范 3.单机游戏 4.联网游戏 # 数据库就是一款帮助我们管理数据的程序 软件开发架构及数据库本质 cs架构与bs ...
- mysql 基本操作语句
mysql 基本操作笔记: 创建表demo:CREATE TABLE `role` ( `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMME ...
- css属性编写顺序+mysql基本操作+html细节(个人笔记)
css属性编写顺序: 影响文档流的属性(比如:display, position, float, clear, visibility, table-layout等) 自身盒模型的属性(比如:width ...
- CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)
原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...
- 【mysql】mysql基本操作
mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from ...
- (MariaDB/MySQL)之DML(1):数据插入
本文目录: 1.insert和replace插入数据 1.1 insert into values() 1.2 insert into set 1.3 insert into select_state ...
- (MariaDB/MySQL)MyISAM存储引擎读、写操作的优先级
MariaDB/MySQL中使用表级锁的存储引擎(例如MyISAM.Aria(MariaDB对MyISAM引擎的改进,前身是MyISAM))在读(select).写操作(insert.delete.u ...
- (MariaDB/MySQL)之DML(2):数据更新、删除
本文目录:1.update语句2.delete语句 2.1 单表删除 2.2 多表删除3.truncate table 1.update语句 update用于修改表中记录. # 单表更新语法: UPD ...
随机推荐
- map遍历测试结果
结论:一般情况下推荐使用enterSet的for循环(即以下的方法2),如果只是取key值可以使用keySet性能会更好. 因为keySet只取key,enterSet即取了key又取了value. ...
- nvl
NVL是Oracle PL/SQL中的一个函数.它的格式是NVL( string1, replace_with).它的功能是如果string1为NULL,则NVL函数返回replace_with的值, ...
- [ActionScript 3.0] AS3.0 获取文本的明暗度
/** * 获取文字的明暗值 * @param t 文字 * @return Number */ function getDensity(t:String):Number { var ttf:Text ...
- DataTable.select() 返回 DataTable
DataTable.select() 默认返回值为 DataRow[]数组 代码来自网络: /**/ /// <summary> /// 执行DataTable中的查询返回新的DataTa ...
- Javascript同源策略对context.getImageData的影响
在本机测试HTML5 Canvas程序的时候,如果用context.drawImage()后再用context.getImageData()获取图片像素数据的时候会抛出错:SECURITY_ERR: ...
- CentOS 6.5 安装 Nginx 1.7.8 教程
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29791971&id=4702007 Nginx是一款轻量级的Web ...
- [技巧]把Excel里的数据插入到数据库里的方法
.如果先在6行数据的最后一列在插入一列数据,请先把列名写好,然后再第一行的该列下输入数字, 然后选中该单元格向下拖拽一个单元格然后就能看到黑色的小框, 双击右下角黑色的小点,6行数据就 会填上默认的第 ...
- 326.Power of Three
/* Given an integer, write a function to determine if it is a power of three. Follow up: Could you d ...
- 在viewPager中的textview参数singleLine和gravity为center冲突bug
在viewPager中有textview. 当textview的参数为singleLine和gravity为center时, onfling事件将会被读取为onclick事件. 这是andriod的一 ...
- DZ!NT论坛 3.6.711删除用户各种错解决方案
DZ!NT论坛 3.6.711删除用户各种错解决方案 首先删除一个用户~ado.net报错 对象名 'dnt_spaceposts' 无效. 对象名 'dnt_spaceconfigs' 无效. ...