zoukankan      html  css  js  c++  java
  • MySQL 安装使用笔记

    MySQL 安装使用笔记

    安装

    国内镜像地址也有很多。

    • 配置环境变量

    新添加系统变量:

    变量名: MYSQL_HOME
    变量值: 安装路径(解压路径)

    • 生成 data 文件
    1. 以管理员身份运行 cmd
    2. 进入安装目录in>文件夹下
    3. 执行命令: mysqld --initialize-insecure --user=mysql
    • 安装MySQL:

    mysqld -install

    • 启动服务:

    net start MySQL

    • 登陆MySQL

    因为之前没有设置密码,所以密码为空,不用输入密码,直接回车。

    d:mysql-8.0.12inmysql -u root -p
    回车


    基础常用命令

    • 查看服务器版本

    select version();

    • 查看所有数据库

    show databases;

    • 切换指定数据库

    use 数据库名;

    • 查看该数据库下的表

    show tables;

    • 获取帮助

    ? contents;
    ? functins;
    ? numeric functions;
    ? round;

    ? data types;
    ? longblob;


    ======


    操作命令

    数据库

    1. 查看当前有哪些DB: show databases;
    2. 添加DB: create databases 数据库名称;
    3. 删除DB: drop databases 数据库名称;

    数据类型

    • 文本类
    数据类型 描述
    CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
    VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。
    注释: 如果值的长度大于 255,则被转换为 TEXT 类型。
    TINYTEXT 存放最大长度未 255 个字符的字符串。
    TEXT 存放最大长度为 65535 个字符的字符串。
    BLOB 用于 BLOBs(Binary Large OBjects)。存放最多 65535 字节的数据。
    MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
    MEDIUMBLOB 用于 BLOBs(Binary Large OBjects)。存放最多 16,777,215 个字符的字符串。
    LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
    LONGBLOB 用于 BLOBs(Binary Large OBjects)。存放最多 4,294,967,295 个字符的字符串。
    ENUM(x,y,z,etc.) 允许你输入可能值的列表,可以在 ENUM 列表中列出最大 65535 个值。 如果列表中不存在插入的值,则插入空值。
    注释:这些值是按照你输入的顺序存储的。
    可以按照此格式输入可能的值: ENUM('x','y','z')
    SET 与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。
    • 数字类
    数据类型 描述
    TINYINT(size) -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。
    SMALLINT(size) -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
    MEDIUMINT(size) -8388608 到 8388607 普通。0 到 16777215 无符号*。在括号中规定最大位数。
    INT(size) -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。
    BIGINT(size) -9223372936854775808 到 9223372936854775808 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
    FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数右侧的最大位数。
    DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数右侧的最大位数。
    DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。
    • 日期类
    数据类型 描述
    DATE() 日期。格式:YYYY-MM-DD
    注释:支持的范围从 "1000-01-01" 到 "9999-12-31"
    DATETIME() *日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
    注释:支持的范围是从 "1000-01-01 00:00:00" 到 "9999-12-31 23:59:59"
    TIMESTAMP() *时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC)至今的描述来存在。格式:YYYY-MM-DD HH:MM:SS
    注释:支持的范围是从 "1970-01-01 00:00:01" UTC 到 "2038-01-09 03:14:07" UTC
    TIME() 时间。格式:HH:MM:SS 注释:支持的范围是从 "-838:59:59" 到 "838:59:59"
    YEAR() 2 位或 4 位格式的年。
    注释:4位格式所允许的值: 1901 到 2155。2 位格式所允许的值: 70 到 69 ,表示从 1970 到 2069。

    数据表

    • 创建数据表 table
    creat table table_name(
        colum_name data_type,
        colum_name data_type,
        .
        .
        .
        colum_name data_type,
    
    );
    

    实例:

    creat table account(
        id bigint(20),
        createTime datatime,
        ip varchar(255),
        mobile varchar(255),
        nickname varchar(255),
        username varchar(255),
        brief text,
    );
    
    • 删除数据表 table
    drop table table_name;
    

    describe table_name; 可以输出表的描述信息


    增加、删除列

    • 增加列
    alter table 【table_name】 add 【column_name】 【data_ytpe】 [not null] [default]
    
    例如:
    alter table account add c1 int(11) not null default 1;
    在 account 表中加 c1 列,并指定位 int 类型,且不为空,默认值为 1
    
    • 删除列
    alter table 【table_name】drop 【column_name】
    
    例如:
    alter table account drop c1;
    

    修改某个数据列的名字或者数据类型

    • 修改列信息
    alter table 【table_name】change 【old_column_name】 【new_column_name】 【data_type】
    1. 只改列名:
        data_type 和原来一样, old_column_name != new_column_name
    2. 只改数据类型:
        old_column_name == new_column_name, data_type 改变
    3. 列名和数据类型都改了
    
    • 修改表名
    alter table 【table_name】rename 【new_table_name】
    
    例如:
    alter table account rename newaccount;
    

    查看或插入表数据

    • 查看表数据
    select * from table_name;
    
    select col_name1,col_name2, ... from table_name;
    
    • 插入数据
    insert into 【table_name】 values(value1,value2, ...)
    insert into 【table_name】 (col1,col2,...) values(value1,value2, ...)
    

    where 条件查询

    • 语法
    select * from table_name where col_name 运算符 值
    
    例如:
    select * from book where title = 't';
    
    • 运算符
    运算符 描述
    = 等于
    != 不等于
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于
    between 在两个值范围内
    like 按某个模式查找
    • 组合条件 and 和 or

    where 后面可以通过 and 与 or 运算符组合多个条件筛选

    语法:

    select * from table_name where col1 = xxx and col2 = xx or col3 > xx
    

    null 字段的判断

    select * from table_name where col_name is null
    select * from table_name where col_name is not null
    

    select distinct(精确的)去掉重复查询结果

    select distinct col_name from table_name;
    
    例如:
    select distinct title form book;
    

    使用 order by 对查询结果排序

    1.按单一列名排序:
    select * from table_name [where 子句] order by col_name [asc/desc]
    
    2.按多列排序:
    select * from table_name [where 子句] order by col1 [asc/desc], col2[asc,desc] ...
    

    不加 asc 或者 desc 时,默认为 asc
    asc 顺序排序
    desc 倒序排序


    使用 limit 截取查询结果

    select * from table_name [where 子句] [order by 子句] limit [offset,] rowCount
    

    offset:查询结果的起始位置,第一条记录的起始是 0
    rowCount:从 offset 位置开始,获取的记录条数

    注意: limit rowCount = limit 0,rowCount


    插入命令 insert 和查询命令 select 的组合使用

    • insert into 与 select 组合使用
    一般用法:
    insert into 【table_name】 values(值1,值2,...)
    insert into 【table_name】 (列1, 列2) values(值1,值2,...)
    
    insert into 与 select 的组合用法:
    
    insert into 【table_name1】 select 列1, 列2 from 【table_name2】
    insert into 【table_name1】 (列1,列2)select 列3, 列4 from 【table_name2】
    
    例如:
    insert into book2 select * from book where id != 1;
    从 book 表中 id 不等于 1 的数据插入到 book2 中
    insert into book2(title) select coutent from book where id != 1;
    从 book 表中 id 不等于 1 的数据条目的 content 列的数据插入到 book2 表中的 title 列
    

    更新表数据

    • updata 语句
    修改单列:
    updata 表名 set 列名 = xxx [where 子句]
    
    修改多列:
    updata 表名 set 列名1 = xxx, 列名2 = xxx.... [where 子句]
    

    where 语句中 in 操作符使用

    • in 语法
    select * from 表名 where 列名 in (value1,value2...)
    select * from 表名 where 列名 in (select 列名 from 表名)
    
    注释: 列名 in (value1,value2...) 等同 列名 = value1 or 列名 = value2
    

    where 语句中 between 操作符使用

    在 值1 和 值2 之间的数据
    select * from 表名 where 列名 between 值1 and 值2
    不在 值1 和 值2 之间的数据
    select * from 表名 where 列名 not between 值1 and 值2
    

    where 语句中 like 操作符使用

    select * from 表名 where 列名 [not] like pattern
    
    pattern:匹配模式,比如:'abc', '%abc', 'abc%', '%abc%';  
    "%" 是一个通配符,理解上可以把他当成任何字符串  
    例子: '%abc' 能匹配 'erttsabc'
    

    hare
    2020.7.29

  • 相关阅读:
    Asp.Net Web API 2第八课——Web API 2中的属性路由
    Asp.Net Web API 2第七课——Web API异常处理
    Asp.Net Web API 2第六课——Web API路由和动作选择
    Asp.Net Web API 2第五课——Web API路由
    开始学习python
    BMI 小程序 购物车
    深浅copy 文件操作
    字典 dict 集合set
    基本数据类型 (str,int,bool,tuple,)
    python 运算符
  • 原文地址:https://www.cnblogs.com/hare1925/p/13394807.html
Copyright © 2011-2022 走看看