Mysql

Mysql:是用于管理文件的一个软件

  -服务端软件

    -socket服务端

    -本地文件操作

    -解析指令(sql语句)

  -客户端软件(各种各样的,包括mqsql自己,其他语言写的)

    -socket客户端

    -发送指令

    -解析指令(sql语句)

  PS:-DBMS 以上所有的是数据库管理系统

    -SQL语句

   技能 -安装客户端服务端

      -连接

      -学习sql语句规则:指示服务端做任意操作。

其他类似软件:分为关系型数据库(sqlite)和非关系型数据库(redis)。

 

mysql安装:平台win10,mysql版本免安装5.7.23.

  

  解压缩包后,bin目录下,有mysqld服务端,mysql客户端可执行文件。

mysqld --initialize-insecure初始化,
当有data文件夹时,就不需要上面的语句。
初始化后,为我们创建了一个root账号,密码为空。
之后执行mysqld就直接启动服务端了。
然后客户端可以 mysql -u root -p连接服务端

优化:因为上面启动服务端后,终端就会被hang住,以至于我们需要重新打开一个终端来启动客户端。
制作MySQL的Windows服务 mysqld --install 都需要管理员权限。
移除MySQL的Windows服务 mysqld --remove

注册成服务之后,再启动mysql就简单了(注意安装服务的目录,需要在mysql安装的目录下。)
net start MySQL  也需要在管理员权限下。
关闭mysql服务
net stop MySQL


关于连接
创建用户:
  create user 'castiel'@'192.168.1.%' identified by '132456'; 后面绑定这个用户只能用这个ip地址链接
还有相应的删除用户,修改用户
权限:
还有相应的删除权限,
  grand selcet,insert,update on db1.t1 to 'castiel'@'%' 数据库.表
  grand all privileges on db1.* to 'castiel'@'%' 除了root的grand权限,其他权限都有。

data
  文件夹(数据库)
    文件(表)
      数据行(行)
      数据行
学习sql规则(
1.操作文件夹,(没有修改的一说,只能干掉再创建)
  show databases db2;
  create database db2 default charset utf8;
  drop database db2;
2.操作文件,
  show tables;
  create table t1(id int,name char(10)) engine=innodb default charset=utf8;创建表时设置默认编码
  在创建表的时候,有引擎=innodb 支持事务,原子性操作就是同时动两张表,一个增加一个减少,如果中间出问题了,就回滚到之前状态。 还有myisam参数
  
  create table t1(
    列名 类型 null
  
     列名 类型 not null
    列名 类型 auto_increment primary key,他两个绑定出现。(自增,) primary key主键作用1,表示约束(不能重复且不能为空)2.加速查找。
     id int,
     name char(10))  
    engine=innodb default charset=utf8;

  清空表:
    delete from t1; 删掉表的内容,但是key键没有重置。
    truncate table t1; key键重置了。
  删除表:
    drop table t1;
3.操作文件中的内容
  增加:
  insert into t1(id,name)values(1,"castiel") 插入
  查看
  select * from t1;
  删除:
    delete from t1 where id<6;
  修改:
    update t1 set age=18 where age=17;
数据类型:
  数字类型:
      tinyint
      int
      bigint
      
      float
      double
        不精准的小数。
      decimal
        num decimal(10,5)总共最多几位数,小数点后最多几位
        精准的小数。
  字符串类型:
    char(10)  速度快,长度不够10的时候,会补充到10。
    varchar(10) 节省空间,不会补充。
    最大255个字符
    
    text
    上传文件
      文件存硬盘
      数据库存路径。
    PS:创建数据表时,定长列放在前面。
    
  时间类型
    datetime

  ENUM 枚举类型,只能用它里面的一个选项。

  set 集合,只能用它里面的组合。
外键功能:1.给字段加约束。 2.节省空间。
主键索引
补充主键:
  一个表只能有一个主键,一个主键可以由多列组成。
外键的概念
  可以多个外键关联,但是前提另一个表的主键由多列组成。

show databases;
use 数据库名称;
show tables;
select * from 表名;
select 列名,列名 from 表名;

posted on 2018-08-07 11:04  castiel_lee  阅读(197)  评论(0)    收藏  举报

导航