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. 修改vuex状态机中的数据

    vuex状态机中的数据是必须提交mutation来修改,如果现实开发中,我们需要修改,而又不想提交mutaition,应该怎么做呢?   先来回顾一下场景,有一个列表是存在vuex中的   这个列表展 ...

  2. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  3. 使用Java调用exe可执行文件

    一.出发点 平日里,我们看到了很多已经成型的可执行文件,而且经过了一定的封装.因为开源的关系,大多时候可以自己使用eclipse进行编译,但也常常遇到不如直接调用更加方便的情况.那么这时候,我个人需要 ...

  4. 题解和总结——noip2019集训测试赛(一)贪吃蛇+字符串+都城

    Problem A: 贪吃蛇 描述 Input Output Sample Input [样例输入1] 4 5 ##... ..1#@ 432#. ...#. [样例输出1] 4 [样例输入2] 4 ...

  5. elasticsearch操作命令

    总结几个es的curl操作命令: 查询某条数据:curl -XGET http://elasticsearch:9200/company/company/123?pretty 查询索引下数据总量:cu ...

  6. 使用Rider中搭建specflow+xunit+selenium对web页面进行自动化功能测试环境

    运行rider,创建测试解决方案,选择xunit,点击create创建 ​   导入包,由于本人使用chrome浏览器(需先下载好对应的浏览器驱动),所以导入了selenium.webdriver.c ...

  7. 大宇java面试系列(三):Redis常见面试题

    1. Redis 是什么?都有哪些使用场景? 我们先来理解经典的CAP理论: 一致性:是指从数据层面来看的一致性. 可用性:是指从系统层面的可用性. 容错性:是指从网络层面的的容错性. 数据库逐渐从关 ...

  8. T-SQL Part VII: CROSS JOIN

    虽然不能确定是不是只有个SQL Server提供了Cross Join的功能,貌似W3School的SQL教程中是没有的 SQL教程.而Wikipedia中倒是有,也是最新的SQL:2011SQL:2 ...

  9. nyoj 94-cigarettes (分清楚,那一部分的cigarettes是用过的,那一部分是没有用过的)

    94-cigarettes 内存限制:64MB 时间限制:3000ms 特判: No 通过数:13 提交数:20 难度:2 题目描述: Tom has many cigarettes. We hypo ...

  10. Spring Bean的生命周期、后置处理器、定义继承

    目录: 了解Spring的基本概念 Spring简单的示例 Spring Bean的定义及作用域 1.Bean的生命周期 Bean的生命周期可以简单的理解为:Bean的定义——Bean的初始化——Be ...