数据库

#!/usr/bin/env python

-- coding:utf-8 --

数据库

# 很多功能如果只是通过操作文件来改变数据是非常繁琐的
    # 程序员需要做很多事情
# 对于多台机器或者多个进程操作用一份数据
    # 程序员自己解决并发和安全问题比较麻烦
# 自己处理一些数据备份,容错的措施

C/S架构的 操作数据文件的一个管理软件

# 1.帮助我们解决并发问题
# 2.能够帮助我们用更简单更快速的方式完成数据的增删改查
# 3.能够给我们提供一些容错、高可用的机制
# 4.权限的认证

数据库管理系统 —— 专门用来管理数据文件,帮助用户更简洁的操作数据的软件

# DBMS

数据 data

文件

文件夹 – 数据库database db

数据库管理员 —— DBA

数据库管理系统

# 关系型数据库
    # sql server
    # oracle 收费、比较严谨、安全性比较高
        # 国企 事业单位
        # 银行 金融行业
    # mysql  开源的
        # 小公司
        # 互联网公司
    # sqllite
# 非关系型数据库
    # redis
    # mongodb

10.1设置数据库

下载和安装
  mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。

  mysql的安装、启动和基础配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

  mysql的安装、启动和基础配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

  mysql的安装、启动和基础配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)






[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\mysql_install\mysql-5.6.44-winx64\mysql-5.6.44-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql_install\mysql-5.6.44-winx64\mysql-5.6.44-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB


#在原环境下添加\;F:\mysql_install\mysql-5.6.44-winx64\mysql-5.6.44-winx64\bin

#打开cmd用管理员命令开启
#输入:mysqld install
#安装完成后输入:net start mysql登入
#再次输入:mysql -uroot -p
#不要输入密码直接进入
#输入 exit 退出

#进入mysql客户端
$mysql
mysql> select user();  #查看当前用户
mysql> exit     # 也可以用\q quit退出

# 默认用户登陆之后并没有实际操作的权限
# 需要使用管理员root用户登陆
$ mysql -uroot -p   # mysql5.6默认是没有密码的
#遇到password直接按回车键
mysql> set password = password('root'); # 给当前数据库设置密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

# 创建账号
mysql> create user 'eva'@'192.168.10.%'   IDENTIFIED BY '123';# 指示网段
mysql> create user 'eva'@'192.168.10.5'   # 指示某机器可以连接
mysql> create user 'eva'@'%'                    #指示所有机器都可以连接  
mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限 
# 远程登陆
$ mysql -uroot -p123 -h 192.168.10.3

# 给账号授权
mysql> grant all on *.* to 'eva'@'%';
mysql> flush privileges;    # 刷新使授权立即生效

# 创建账号并授权
mysql> grant all on *.* to 'eva'@'%' identified by '123' 

mysql的账号操作


 1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

  2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

  3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE


    
    
1. 操作文件夹(库)
   增:create database db1 charset utf8;
   查:show databases;
   改:alter database db1 charset latin1;
   删除: drop database db1;


2. 操作文件(表)
   先切换到文件夹下:use db1
   增:create table t1(id int,name char);
   查:show tables;
   改:alter table t1 modify name char(3);
      alter table t1 change name name1 char(2);
   删:drop table t1;
    

3. 操作文件中的内容(记录)
   增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
   查:select * from t1;
   改:update t1 set name='sb' where id=2;
   删:delete from t1 where id=1;

   清空表:
       delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
       truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,

*auto_increment 表示:自增
*primary key 表示:约束(不能重复且不能为空);加速查找

安装mysql遇到的问题

# 操作系统的问题
    # 缺失dll文件
# 安装路径
    # 不能有空格
    # 不能有中文
    # 不能带着有转义的特殊字符开头的文件夹名
# 安装之后发现配置有问题
    # 再修改配置往往不能生效
# 卸载之后重装
    # mysqld remove
    # 把所有的配置、环境变量修改到正确的样子
    # 重启计算机 - 清空注册表
    # 再重新安装

mysql的CS架构

# mysqld install  安装数据库服务
# net start mysql 启动数据库的server端
    # 停止server net stop mysql
# 客户端可以是python代码也可以是一个程序
    # mysql.exe是一个客户端
    # mysql -u用户名 -p密码

mysql中的用户和权限

# 在安装数据库之后,有一个最高权限的用户root
# mysql 192.168.12.87 eva/123
    # mysql -h192.168.12.87 -uroot -p123

我们的mysql客户端不仅可以连接本地的数据库

也可以连接网络上的某一个数据库的server端

mysql>select user();

# 查看当前用户是谁

mysql>set password = password(‘密码’)

# 设置密码

创建用户

create user ‘s21’@‘192.168.12.%’ identified by ‘123’;

mysql -us21 -p123 -h192.168.12.87

授权

# grant all on day37.* to 's21'@'192.168.12.%';
# 授权并创建用户
# grant all on day37.* to 'alex'@'%' identified by '123';

查看文件夹

# show databases;

创建文件夹

# create database day37;

库 表 数据

# 创建库、创建表  DDL数据库定义语言
# 存数据,删除数据,修改数据,查看  DML数据库操纵语句
# grant/revoke  DCL控制权限

# create database 数据库名;  # 创建库
# show databases; # 查看当前有多少个数据库
# select database();# 查看当前使用的数据库
# use 数据库的名字; # 切换到这个数据库(文件夹)下

表操作

# 查看当前文件夹中有多少张表
    # show tables;
# 创建表
    # create table student(id int,name char(4));
# 删除表
    # drop table student;
# 查看表结构
    # desc 表名;

操作表中的数据

# 数据的增加
    # insert into student values (1,'alex');
    # insert into student values (2,'wusir');
# 数据的查看
    # select * from student;
# 修改数据
    # update 表 set 字段名=值
    # update student set name = 'yuan';
    # update student set name = 'wusir' where id=2;
# 删除数据
    # delete from 表名字;
    # delete from student where id=1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值