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 ...
随机推荐
- 如何使用XAMPP本地搭建一个属于你自己的网站
你好,从今天开始,我将为大家带来一些我学习SEO和建站的免费教程,今天为大家带来的是如何用XAMPP搭建一个属于你自己的网站.来到这里,可以说很多在百度上已经过时了的资料需要总结的资料这里都有,你只要 ...
- MS Sql Server 中主从库的配置和使用介绍(转)
网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据 ...
- (easy)LeetCode 203.Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...
- 【转】sed命令详解
原文:http://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html sed命令行格式为: sed [-nefri] 'command' ...
- UITableViewCell之微博篇
微博篇 本应用所涉及的知识点: 1.UITableView 中的cell 2.模型的创建 3.MJExtension第三方框架的使用 需求分析 1.界面分析 微博界面 界面控件分析: 整个页面 1.不 ...
- svn 常用操作命令
svn 常用操作命令 检出 svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 svn checkout svn://路径(目录或文件 ...
- Unity3D 新人学习的一点感想
想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...
- UGUI不规则按钮实现思路
根据图片的透明度来判断是否点击到了适当区域(如果a值是0,说明完全透明,则判断为没点击,否则判断为触发点击) using UnityEngine; using System.Collections; ...
- Android开发-API指南-<grant-uri-permission>
<grant-uri-permission> 英文原文:http://developer.android.com/guide/topics/manifest/grant-uri-permi ...
- NopCommerce 3.80框架研究(一) 数据访问与持久化
NopCommerce 是一个国外的开源电商系统.3.80版本使用EF6.0 和.Net Framework 4.5.1 并引入了Autofac , Autofac是一款IOC框架,比较于其他的IOC ...