文章目录

  • MySQL基础操作
    • mysql 客户端 登录 mysql 服务器
    • mysql 设置密码
    • 创建账户
    • 用户授权(创建用户的同时,也授予权限)
    • SQl语句
    • 配置linux my.cnf

MySQL基础操作

使用方法:

方式一: 通过图型界面工具,如 Navicat 等( 高级课使用 )

方式二: 通过在命令行敲命令来操作 ( 基础阶段使用 )

SQL ( Structure query language ) 结构化查询语言

SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)

  1. DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
  2. DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
  3. DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
  4. DQL语句 数据库操纵语言:查询数据SELECT

mysql数据库管理软件,记录事物一些数据特征:
由库,表,记录组成.
相当于一个文件夹
相当于一个文件
记录就是文件里面一条一条的内容
表中的成员属性就是一个一个字段
可以为每个项目建立一个数据库

关系型数据库:表与表之间有联系
比如:mysql,oracle,db2,sqlserver

非关系型数据库: key-value 键值对形式 没有表的概念
比如:redis,mongodb,memcache

  • linux
    service mysql start 启动mysql
    service mysql stop 停止mysql
    service mysql restart 重启mysql

  • windows
    net start mysql 启动mysql
    net stop mysql 停止mysql
    想要重启那么就先停止在启动.

mysql 客户端 登录 mysql 服务器

root 是权限最高的用户

  1. 登录本地myql
    -u 指定用户名 -p 指定密码 -h指定ip主机地址 默认值是localhost=>127.0.0.1
    mysql -uroot -p
  2. 登录远程mysql服务器
    mysql -uroot -h10.0.0.200 -p
  3. 退出mysql
    exit 或者\q

mysql 设置密码

查询当前登录的用户是谁

select user();
# 设置密码
set password = password("123456");
# 去除密码
set password = password('');

创建账户

(只是单纯创建一个账户而已,没权限的)
为"10.0.0.46" 创建ceshi01用户,密码111来访问服务器mysql

create user 'ceshi01'@'10.0.0.46' identified by '111';    # 指定具体用户
create user 'ceshi04'@'10.0.0.%' identified by '111';   # 指定某个网段
create user 'ceshi03'@'%';  # 指定所有机器都可以连接mysql# 查看用户权限 (用户怎么创建怎么查看)
show grants for 'ceshi04'@'10.0.0.%'
# GRANT USAGE ON *.* TO 'ceshi02'@'192.168.11.%' USAGE无权限的意思# 客户端连接服务器mysql
mysql -uceshi04 -h10.0.0.200 -p

用户授权(创建用户的同时,也授予权限)

# 完整语法:
grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码';
权限:
all privileges 表示所有权限 (可以简写all)
# select 查询数据权限
# insert 插入数据权限
# update 更新数据权限
# delete 删除数据权限
# *.* 代表所有库.所有表
grant select on *.* to 'ceshi04'@'10.0.0.%' identified by '222';
# 查看所有数据库
show databases;
# 移除权限
revoke select on *.*  from 'ceshi04'@'10.0.0.%';
# 删除账户
drop user 'ceshi04'@'10.0.0.%';
# 刷新权限
flush privileges;

SQl语句

  • 操作数据库(文件夹)

    增:
    创建数据库db1,设置字符集utf8
    create database db1 charset utf8;

    查:
    查看建库信息
    show create database db1;
    显示所有数据库
    show databases;

    改:
    更改数据库字符集
    alter database db1 charset gbk;

    删:
    删除数据库db1
    drop database db1;

  • 操作表(文件)
    切换数据库
    use db1;
    int 整型 char 字符串
    增:
    创建数据表t1(字段名,类型…)

    create table t4(
    id int,
    name char
    );
    
    查:
    查看所有表
    show tables;
    查看建表语句
    show create table t1;

    CREATE TABLE `t5` (`id` int(11) DEFAULT NULL,`name` char(1) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    

    垂直查看数据信息,默认水平.
    show create table t1\G
    查看表结构
    desc t1;

    改:
    modify 单纯改变数据类型 指定char字符长度是6
    alter table t1 modify name char(6);
    change 连名字带数据类型都改变 新名字和数据类型都需要指定
    alter table t1 change name NAME char(7);
    alter table t1 change NAME name char(11);
    更改表名
    alter table t1 rename t99
    删:
    删除表t1
    drop table t5
  • 操作记录(文件内容):

    增:
    t2(字段名字,逗号彼此隔开) 一次只插入一条;
    insert into t2(id,name) values(1,'xboy1')
    一次插入多条数据
    insert into t2(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
    可以不指定具体字段,但是字段值必须一一对应
    insert into t2 values(5,"xboy5")
    可以具体指定某个字段设置值
    insert into t2(id) values(6);


    select 后面接字段名称 也可以直接写* ,*代表所有字段;
    select id,name from t2;
    select * from t2;
    数据库.表 在没有选择数据库的时候,也可以查询;
    select * from db1.t2;

    改:
    upate 表名 set 字段=值 where 条件
    update t2 set name = "王文";
    加上条件再去修改值,否则全部都修改了 条件id=3的这条记录
    update db1.t2 set name = "神秘男孩" where id = 4;

    删:
    删除t2表所有的数据
    delete from t2;
    删除黄熊大,指定具体数据删除,加上where 条件 id=4的记录
    delete from t2 where id=4;

  • 清空数据,id号保留;
    delete from t2

  • 清空数据,id号重置;(速度更快)
    trancate table t2

常用数据类型:

int 整型

char和varchar 都是字符串

char(5) 定长,固定开辟字符长度是5的空间 (手机号,或者身份证);速度快

varchar(5) 变长,最大开辟字符长度是5的空间,实际按照存入的值算大小,速度慢

float(255,30) 一共255,小数点最多占用30位

enum 和 set 的数据必须从其中挑选,没有的话报错;

enum 枚举 从一组数据中选一个 (一般性别上)

set 集合 从一组数据中选多个 ,自动去重

mysql> create table t10(-> id int,-> name varchar(15),-> money float(6,2),-> sex enum("man",'woman'),-> hobby set("eat","drink",'play','smile','piao')-> );
# 正确
insert into t10(id,name,money,sex,hobby) values(1,'wangwen',9.1,"man","eat,drink");
# float(6,2) 整数位最大是4位.
insert into t10(id,name,money,sex,hobby) values(2,'sdfsdfd',82.349,"man","piao,piao,piao");
insert into t10(id,name,money,sex,hobby) values(2,'sdfsdfd',82.349,"man","piao1343piao");

配置linux my.cnf

find / -name my.cnf
nano /etc/mysql/my.cnf
#!includedir /etc/mysql/conf.d/
#!includedir /etc/mysql/mysql.conf.d/cd /etc/mysql/conf.d/  # 客户端mysql配置文件
cd /etc/mysql/mysql.conf.d/ # 服务端mysql配置文件
把文档当中
  • 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8

  • 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    放服务端

  • 设置mysql客户端默认字符集
    default-character-set=utf8
    放客户端

service mysql restart;
mysql进去\s查看服务器信息是否是utf8 即正确

Python笔记_34_MySQL基础操作相关推荐

  1. python 30个基础操作

    运行环境 : python 3.6.0 今天来一个基础操作 ... 1.冒泡排序 lis = [56, 12, 1, 8, 354, 10, 100, 34, 56, 7, 23, 456, 234, ...

  2. 【Linux】 Jetbot、Dofbot机器人如何创建、执行python脚本+Linux基础操作

    文章目录 一.Jetbot.dofbot机器人创建执行python脚本方法 1.1 引言 1.2 通过SSH协议传输文件 1.2.1 Mobaxterm的下载安装 1.2.2 Mobaxterm创建s ...

  3. python学习——numpy基础操作

    numpy 基础操作 1 创建数组 2 数组常用属性和函数 3 数组元素增删 4 元素查找 5 数学运算 6 数组切片 1 创建数组 import numpy as np #以后numpy简写为np ...

  4. python文件的基础操作

    import osprint('\n','获取当前工作目录'.center(40,'-')) print(os.getcwd())print('\n','获取当前工作目录中的内容'.center(40 ...

  5. [笔记]NumPy基础操作

    学机器学习做点小笔记,都是Python的NumPy库的基本小操作,图书馆借的书看到的,怕自己还了书后忘了,就记下来. 一般习惯导入numpy时使用 import numpy as np ,不要直接im ...

  6. python 笔记 之 sqlalchemy操作数据库-创建表

    2019独角兽企业重金招聘Python工程师标准>>> ''' pip install SQLAlchemy 操作数据库-创建表 ''' import sqlalchemy''' s ...

  7. Python笔记四之操作文件

    一.字符串方法补充(join.split) join方法: # join方法,连接字符串 1.把一个list变成了字符串 2.通过某个字符把list里面的元素连接起来 # 3.只要是可以循环的都可以连 ...

  8. 笨方法“学习python笔记之文件操作

    python 与其他语言相比,操作文件非常方便,提供了良好的API. Open函数 python是以文件对象的方式来操作文件,操作文件之前首先要打开文件产生一个文件对象,以便进行后续操作. open( ...

  9. 操作mysql_MySQL学习笔记之基础操作

    1. 概述 数据存储 人工管理 储存量有限,共享麻烦,操作混乱 文件管理 优点:可长期保存,存储大量数据,使用简单 缺点:  一致性差,查找不便,冗余比较大 数据库管理 优点:降低冗余度,提高增删改查 ...

最新文章

  1. Razor:从aspx到cshtml常见错误及正确书写方法
  2. R语言ggplot2可视化条形图可视化控制底部和x轴之间没有空格实战:即条形图的底部直接和坐标轴连接
  3. 农业银行联行号怎么查询_农行信用卡解析丨菜卡怎么提额8W?学会一招就够了!...
  4. Makefile常用信息查询页
  5. apt-get无法下载,一些网址Not Found 404
  6. 每天一道LeetCode-----找到有多少个组合加起来和是n,每个组合的数字只能是1或者2
  7. 阿里巴巴加入 Linux 基金会
  8. java 线程安全的原因_java的多线程:java安全问题产生的原因与JMM的关系
  9. 编译安装Postfix-2.10.10
  10. 深度学习能辨识壁画上的艺术元素吗?
  11. 教你实现一个朴实的Canvas时钟效果
  12. 控制只读_用Python控制硬件44-四位半万用表UT61E
  13. gnuplot 使用时遇到的问题
  14. Linux开发:error: ‘clockid_t’ has not been declared
  15. 每天一道剑指offer-丑数
  16. pythonexcel编译码_python对excel的读写操作
  17. 「项目分享」软件测试简历中项目怎么写?从候选人中脱颖而出,offer拿到手软
  18. 超市管理系统java代码,超市管理系统完整+源代码
  19. 靠卖艺还债:罗永浩的冬天来了!
  20. Taylor Swift - Enchanted_20131123141153-pdf

热门文章

  1. 什么是DevSecOps?理解DevOps安全性
  2. windows 定制 terminal 上手实践
  3. 股票基础知识 - 通过股票前缀代码判断股票是什么类型,属于哪个板块
  4. 因变量是连续变量spss里面用什么模型做回归
  5. Visual LISP程序设计手册
  6. 《小额贷款系统》项目研发总结
  7. 怎么制作睡袋rust_【手工课堂第二十三期】宝宝睡袋DIY
  8. 顺丰科技-大数据挖掘与分析-2019笔试整理
  9. 解决QQ群文件下载速度过慢的问题
  10. 吴京被刘德华的京哥吓了一跳,他们到底谁的贡献最大?