mysql数据库终端上的增删改查及权限等相关操作
ctrl + c 终止
[linux]
service mysql start 启动mysql
service mysql stop 停止mysql
service mysql restart 重启mysql
[windows] 以超级管理员的身份进行操作
net start mysql 启动mysql
net stop mysql 停止mysql
### part1
mysql客户端 登录 mysql服务器
(1)登录本地的mysql 默认 root 是最高权限用户
mysql -uroot -p
-u 指定用户
-p 指定密码
-h 指定ip
(2) 退出
exit 或者 \q
(3) 登录远程mysql服务器
mysql -uroot -h192.168.75.128 -p
### part2
mysql 设置密码
查询当前登录的用户是谁
select user();
设置密码
set password = password("123456")
去除密码
set password = password("");
### part3
mysql 创建账户 (单纯的创建账户,没有任何权限)
create user 'ceshi01'@'192.168.75.1' identified by '111'; # 给具体ip设置账户
create user 'ceshi02'@'192.168.75.%' identified by '222'; # 指定某个网段设置账户
create user 'ceshi03'@'%'; # 所有的ip都能依靠这个账户连接到数据库
mysql -uceshi02 -h192.168.75.128 -p
查看用户权限
show grants for 'ceshi02'@'192.168.75.%'
GRANT USAGE ON . TO 'ceshi02'@'192.168.75.%' # USAGE 没有任何权限
grant授权完整语法:
grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码';
"""
select 查询数据权限
insert 插入数据权限
update 更新数据权限
delete 删除数据权限
"""
* 代表所有
grant select,delete on . to 'ceshi02'@'192.168.75.%' identified by '666';
查看所有数据库
show databases
移除权限
revoke select on . from 'ceshi02'@'192.168.75.%'
删除账户
drop user 'ceshi02'@'192.168.75.%'
刷新权限
flush privileges
### part 4
"""
linux /var/lib/mysql 存放着数据库等相关文件
find / -name db1 找到对应的路径
但是有权限的限制,需要切换到root用户才能够操作;
"""
SQL 语句:
1.操作[数据库] (文件夹)
增:
# 创建数据库db1,设置字符集utf8
create database db1 charset utf8;
查:
# 查看数据库
show databases;
# 查看数据库建库语句
show create database db1;
改
#更改数据库字符集
alter database db1 charset gbk;
删
# 删除数据库db2
drop database db2;
2.操作[数据表] (文件)
选择数据库
use 数据库名称
增:
int 整型 char 字符串
# 创建数据表t1(字段名1 类型1, 字段名2 类型2)
create table t1(id int,name char);
查
# 查看所有数据表
show tables;
# 查看建表语句
show create table t1;
show create table t1\G
"""
CREATE TABLE t2
(
id
int(11) DEFAULT NULL,
name
char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
"""
# 查看表结构
desc t1;
改
# modify 只改变数据类型
alter table t1 modify name char(6);
# change 联名带数据同时改变
alter table t1 change name NAME char(7);
# 改回去
alter table t1 change NAME name char(6);
# add 添加字段
alter table t1 add age int;
# drop 删除字段 column 列
alter table t1 drop column age;
# 更改表名
alter table t1 rename t999;
删
# 删除表t1
drop table t999
3.操作记录 (文件内容)
NULL <==> None 等价
增:
# 一次插一条t1(字段名1,字段名2,字段名3,.......) values(对号入座)
insert into t1(id,name) values(1,"xboy1");
# 一次插多条
insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4"),(5,"xboy5");
# 不指定具体字段,把所有的字段值都插入一遍
insert into t1 values(6,'xboy6');
# 可以只指定1个字段插入
insert into t1(id) values(99);
查:
select id,name from t1;
select * from t1
# 不指定数据库的时查询方法
select * from db1.t1
改:
# update 表名 set 字段=值 where 条件
update t1 set name = '王文'; # 所有数据都改了
update t1 set name = "好男人" where id = 3
删:
# 删除id为1的这一条数据
delete from t1 where id = 1;
# 删除所有
delete from t1;
# 清空数据,重置自增id (速度更快)
truncate table t1;
### part 5
常用的数据类型:
整型
tinyint 1个字节 有符号(-128 ~ 127) 无符号 (0 ~ 255) 小整型值
int 4个字节 有符号(-21亿 ~ 21亿) 无符号(0 ~42亿) 大整型值 , 精度更高
create table t1(id int , sex tinyint);
create table t11(id int unsigned , sex tinyint);
insert into t11 values(4200000000,128) error
insert into t11 values(4200000000,127)
浮点型:
float(255,30) 单精度
double(255,30) 双精度
decimal(65,30) 一般用于表达金钱类型,是使用字符串的形式保存的小数
create table t2(f1 float(5,2) , f2 double(5,2) , f3 decimal(5,2));
insert into t2 values(1.234,1.234,1.234);
# decimal 默认保留整数部分,double默认保留的小数为比float更多,精度更高,float默认小数保留5位,存在四舍五入
create table t3(f1 float,f2 double,f3 decimal);
insert into t3 values(1.235555555555555555555,1.235555555555555555555666666666666666666666666666666666,1.699995555555555555555555);
字符串:
char(11) 定长:固定开辟11个长度的空间 (手机号,身份号) 速度快
varchar(11) 变长:最大开辟字符长度为11的空间 (文章评论 5~255 个评论字数) 相较于char速度慢
text 这种类型专门用于存储文章,论文,小说.
create table t4(c char(11),v varchar(11),t text);
insert into t4 values('1122' , 'dddff' , "sdfsdfsdfsdfssadfsadf1")
select concat(c,v,t) from t4;
select concat(c,":",t) from t4;
枚举 % 集合
enum 和 set 的数据类型,必须从中进行挑选
enum 枚举 从一组数据中选一个(性别)
set 集合 从一组数据中选多个,自动去重
create table t5(
id int,
name varchar(15),
money float(6,2),
sex enum("man","woman"),
hobby set("eat","drink","piao","du","smoke")
)
insert into t5(id,name,money,sex,hobby) values(1,'liyi',9999.1,"woman","piao,du");
insert into t5(id,name,money,sex,hobby) values(1,'liyi',9999.1,"woman","piao,piao,piao,du");
mysql 的内置函数
concat(参数1,参数2,参数3 ........) 把所有的参数拼接在一起
### 目的:配置linux中的文件my.cnf
找: find / -name my.cnf
结果如下:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
cd /etc/mysql/conf.d/ => mysql.cnf
nano mysql.cnf [mysql]
把下面的代码写入客户端中
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
cd /etc/mysql/mysql.conf.d/ => mysql.cnf
nano mysql.cnf [mysqld]
把下面的配置写到文件中
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
重启
service mysql restart
mysql数据库终端上的增删改查及权限等相关操作的更多相关文章
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- Mysql数据库和表的增删改查以及数据备份&恢复
数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...
- Python操作MySQL数据库完成简易的增删改查功能
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...
- 在python中连接mysql数据库,并进行增删改查
数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...
- Java连接MySQL数据库,并进行增删改查
1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...
- MySQL数据库 | 数据表的增删改查
MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作
PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...
随机推荐
- Java内存模型(JMM)详解
在Java JVM系列文章中有朋友问为什么要JVM,Java虚拟机不是已经帮我们处理好了么?同样,学习Java内存模型也有同样的问题,为什么要学习Java内存模型.它们的答案是一致的:能够让我们更好的 ...
- 2018.8.8 python 初识函数
主要内容: 1.函数定义 2.函数名,函数体以及函数的调用 3.函数的返回值 4.函数的参数 一.函数的定义 函数:对代码块和功能的封装和定义. 二.函数名.函数体及函数的调用 我们使用def关键字来 ...
- postman的基本用法,请求,断言,环境变量
postman基本用法 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 它提供功能强大的 Web API & HTTP 请求调试. 它能够发送任何类型的HTT ...
- 学习笔记50_mongodb
MongoVUE,MongoDB可视化客户端: 添加一个连接: 数据库下就是集合. 实际上是json数据的集合 Mongodb->数据库->文档集合:相当于表->文档:相当于表里面的 ...
- NOIP模拟测试25
这次考试后面心态爆炸了...发现刚了2h的T2是假的之后就扔掉了,草率地打了个骗分 T1只会搜索和m=0 最先做的T3,主要是发现部分分很多,当时第一眼看上去有87分(眼瞎了). 后来想了想,感觉一条 ...
- Java加密、解密Word文档
对一些重要文档,我们为保证其文档内容不被泄露,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件.下面介绍了一种比较简单的方法给Word文件添加密码保护以及如何给已加密的Word文件取消密 ...
- 用python实现对元素的长截图
一.目标 浏览网页的时候,看见哪个元素,就能截取哪个元素当图片,不管那个元素有多长 二.所用工具和第三方库 python ,PIL,selenium pycharm 三.代码部分 长截图整体思路: 1 ...
- 『图论』LCA最近公共祖先
概述篇 LCA(Least Common Ancestors),即最近公共祖先,是指这样的一个问题:在一棵有根树中,找出某两个节点 u 和 v 最近的公共祖先. LCA可分为在线算法与离线算法 在线算 ...
- 深入理解@LoadBalanced注解的实现原理与客户端负载均衡
前提 在阅读这篇博客之前,希望你对SpringCloud套件熟悉和理解,更希望关注下微服务开发平台 概述 在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate ...
- 【前端知识体系-CSS相关】CSS预处理器
1.常见的CSS预处理器有哪些? [!NOTE] css预处理器:用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作,可以让你的CS ...