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 ...
随机推荐
- Yii 框架中安装 memcache 及配置和测试
安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...
- Yii2.0 实现三级联动 [ 2.0 版本 ]
view中代码 <?php use yii\bootstrap\ActiveForm; /* @var $this yii\web\View */ /* @var $form yii\boots ...
- iOS推送通知的实现步骤
一.关于推送通知 来源:http://blog.csdn.net/enuola/article/details/8627283 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序 ...
- Understanding Asynchronous IO With Python 3.4's Asyncio And Node.js
[转自]http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html Introduction I spent this su ...
- (medium)LeetCode 220.Contains Duplicate III
Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...
- 9. Palindrome Number
/* Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers ...
- IOS中类似的。9.png图片
图形用户界面中的图形有两种实现方式,一种是用代码画出来,比如Quartz 2D技术,狠一点有OpenGL ES,另一种则是使用图片. 代码画的方式比较耗费程序员脑力,CPU或GPU; 图片则耗费磁盘空 ...
- SparkSQL On Yarn with Hive,操作和访问Hive表
转载自:http://lxw1234.com/archives/2015/08/466.htm 本文将介绍以yarn-cluster模式运行SparkSQL应用程序,访问和操作Hive中的表,这个和在 ...
- KSImageNamed-Xcode-master 对项目中图片提供自动提示功能的插件
.使用介绍: (1)KSImageNamed-Xcode-master的使用 安装该插件后,会对文件中图片进行智能提示. 下载地址:http://yun.baidu.com/s/1qWNkvGK
- document.styleSheets[0]是个啥
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...