zoukankan      html  css  js  c++  java
  • mysql知识整理一

    MySQL安装

      Windows:

          压缩包,创建my.ini修改里面的配置文件添加如下信息

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

    启动mysql客户端命令

    mysql -u用户名 -p        #进入mysql

    显示有哪些数据库

    SHOW DATABASES;

    移动到指定数据库位置

    USE 数据库名称

    显示有哪些表

    SHOW TABLES;

    显示表内容

    SELECT * FROM 表名;

    显示表哪些列的内容

    SELECT name,age,id FROM 表名;

    创建用户:

    CREATE USER 'ALEX'@'*' IDENTIFIED BY '123456';  #创建用户,'用户名'@'允许登录的ip,*是所有' IDENTIFIED BY '密码'

    授权:

    GRANT SELECT,INSERT,UPDATE,DELETE ON db1.t1 TO 'ALEX'@'*';    #开放哪些权限,查询,插入,更新,删除,在哪些表做操作,用户
    GRANT ALL PRIVILEGES ON db2.t1 TO 'ALEX'@'*';  开放所有权限

    撤销授权

    REVOKE ALL PRIVILEGES ON DB2.T1 FROM 'ALEX'@’%’;  #撤销所有权限,针对表,用户。

    SQL 语句规则

    操作文件夹

    CREATE DATABASE db1;   #创建数据库
    CREATE DATABASE db1 DEFAULT CHARSET UTF8;    #指定数据库的默认编码
    DROP DATABASE db1;
    SHOW DATABASE;  

    操作文件

    SHOW TABLES;
    CREATE TABLE t1(id int,name char(10)) default charset=utf8;
    CREATE TABLE t1(id int,name CHAR(10))engine=innodb default charset=utf8;
    CREATE TABLE t3(id int auto_increment,name char(10))engine=innodb default charset=utf8;  #创建t3表,id列整数类型,自增列。name列字符串型,指定所用表的引擎和默认字符编码。
    
    create table t1(
        列名 类型 null,           #可为空
        列名 类型 not null,     #不可为空
        列名 类型 not null auto_increment primary key,  设置为主键
        id int,
        name char(10)
    )engine=innodb default charset=utf8;
    
    
    # innodb 支持事务,原子性操作,可回滚数据,但是效率没有下面的引擎快。
    # myisam myisam   
    primary key:  表示 约束(不能重复且不能为空); 加速查找

    数据类型

    数字类型:
        tinyint
        int
        bigint
        FLOAT            # 浮点数据类型,到达某种长度后不精准
        DOUBLE          # 比FLOAT更精准点,但是到了某种长度也更不精准
        DECIMAL         # 字符串形式的浮点类型计数,所以精准
    
    字符串:
        char()    #指定长度,就算以后存的数据长度不够,内部会给你填充,比varchar优势在查询的时候速度快,因为定长度了,他就知道去哪个位置找
        varcher()    #指定长度,不会填充内容。
     #PS:创建数据表定长列往前放
        text    #用来存放文本类型
        上传文件:文件存硬盘,db存路径
    
    时间类型
        DATETIME          #用这个类型可以显示年月和时分秒        
    View Code

    操作文件内容

    插入数据:
        INSERT INTO t1(id,name) VALUES(1,'alex');
    删除:
        DELETE FROM t1 WHERE id=6;
    修改:
        UPDATE t1 set age=19
        UPDATE t1 set age=20 WHERE age=19;
    查看数据:
        SELECT * FROM t1;
    
    外键:
        create table userinfo(
        uid bigint auto_increment primary key,
        name varchar(32),
        department_id int,
        xx_id int,
        constraint fk_user_depar foreign key (department_id)     references color(id)
        )engine=innodb default charset=utf8;
    
        create table department(
        id bigint auto_increment primary key,
        title char(15)
        )engine=innodb default charset=utf8;
  • 相关阅读:
    python的数据类型+常用操作符
    厉害了
    git merge ignore line ending
    CNAME , DNS , A Record , Domain Name

    setcookie无效
    magic quote gpc htmlspecialchars
    整型 浮点型 不能转化
    git push -f带来的conflict如何解决
    git pull --rebase
  • 原文地址:https://www.cnblogs.com/songcheng/p/8617065.html
Copyright © 2011-2022 走看看