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. SpringCloud之Nacos服务发现(十七)

    一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...

  2. git push 报src refspec xxx does not match any的错误

    今天在向一个新的远程分支上推送项目的时候报错: 远程分支branch_new是其他人建的,我在自己本地修改后把自己分支的修改推送到这个远程分支上. 把修改提到本地仓库: git add ./ git ...

  3. CSPS模拟 43

    我这次把考试题改完了 T1 A 发现S*b必须和T模a同余? 貌似乘不了几次就爆T了?可以暴力? 也许乘的越多越好? 内心:切了 另外怎么设置鼠标指到黑块上边就显示字那种东西 最后当然是因为低错没有A ...

  4. Redis实战--Redis整合SpringBoot示例

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 该文章 ...

  5. NOIP模拟测试2-5

    该补一下以前挖的坑了 先总结一下 第二次 T1 搜索+剪枝 #include<cstdio> #include<iostream> #define ll long long u ...

  6. NOIP模拟测试11

    这次考试T1想到了正解没有去实现,然后就死了,不过我估计就算想到正解也会挂(26^2和暴力一个分),肝了两个小时T2屁都没蹦出来,T3没有搞清那个式子的含义. (不过一分没挂) T1:string 开 ...

  7. 原生JS实现单向链表

    1.前言 用JS实现一个简单的单向链表,并完成相关的功能 2.功能说明 push(value):从链表尾部添加一个新的节点 insertAfer(value,item):向链表中的item节点之后插入 ...

  8. 二、安装JDK - Java软件的安装

    jdk是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序. 1.安装包的下载:http://pan.baidu.com/s/1mgh58ve (该安装包是绿色的,解压 ...

  9. PHP过滤换行的方法

    PHP过滤换行的方法 <pre> public function trimall($str) { $qian = array(" ", " ", & ...

  10. .NET进阶篇06-async异步、thread多线程2

    知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂 内容目录 一.线程Thread1.生命周期2.后台线程3.静态方法1.线程本地存储2.内存栅栏4.返回值二.线程池ThreadPool1.工作队 ...