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数据库终端上的增删改查及权限等相关操作的更多相关文章

  1. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  2. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  3. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  4. Python操作MySQL数据库完成简易的增删改查功能

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...

  5. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  6. Java连接MySQL数据库,并进行增删改查

    1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...

  7. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  8. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  9. 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

    PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...

随机推荐

  1. flask框架中使用wtforms

    一.什么是wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install WTForms 二.简单使用wtforms组件 (一 ...

  2. 干货:.net core实现读取自定义配置文件,有源代码哦

    看好多人不懂在.NET CORE中如何读取配置文件,我这里分了两篇,上一篇介绍了怎样通过appsettings.json配置读取文件信息.这一篇教大家自定义配置文件: 1.在项目下创建配置文件 { & ...

  3. 11 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警 sendEmail是一个轻量 ...

  4. API 网关知识看这篇就足够了!

    本文已经收录自 JavaGuide (60k+ Star[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.) 本文授权转载自:https://github.com/java ...

  5. 学习c++11 ThreadPool【转】

    #ifndef THREAD_POOL_H #define THREAD_POOL_H #include <vector> #include <queue> #include ...

  6. NOIP模拟 31

    补坑 skyh又AK 赛时榜搜索我的姓: 下一条 ... 自闭了. (只是表达对B哥强烈的崇敬) (如果B哥介意我把名字贴出来请联系我删掉) T1一打眼,好像就一个gcd 康了眼大样例,觉得没啥问题 ...

  7. IntelliJ IDEA自动部署项目至远程服务器与传统部署项目至远程服务器的区别

    每次开发Java项目时,对于所有Java开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP等工具对 ...

  8. 微信小程序this.data和this.setData({})的区别

    this.data.xx是用来获取页面data对象的----------只是js(逻辑层)数据的更改: this.setData是用来更新界面的---------用于更新view层的.

  9. 深入讲解 Laravel 的 IoC 服务容器

    众所周知,Laravel 控制反转 (IoC) / 依赖注入 (DI) 的功能非常强大.遗憾的是, 官方文档 并没有详细讲解它的所有功能,所以我决定自己实践一下,并整理成文.下面的代码是基于 Lara ...

  10. PHP7中的异常与错误处理

    PHP 中的 Exception, Error, Throwable PHP 中将代码自身异常(一般是环境或者语法非法所致)称作错误 Error,将运行中出现的逻辑错误称为异常 Exception 错 ...