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;
原文地址:https://www.cnblogs.com/songcheng/p/8617065.html