数据库服务软件有 MySQL Oracle SQL_Server MongoDB DB2 Maraidb

MySQL特点

  1. 关系型数据库(innoDB)
    数据以 行和列(表) 的形式去存储的
    表中行: 一条记录 列: 一个字段
    表和表之间的逻辑关联叫关系
  2. 非关系型数据库存储(mySAM)
    以字典存储, 每条字典独立, 优点查询快

数据库软件\数据库\数据仓库,概念区分

  1. 数据库软件
    可操作, 实现数据库的逻辑功能
  2. 数据库
    逻辑概念, 存储数据, 侧重于存储
  3. 数据仓库
    数据量特别庞大, 主要用于数据分析, 数据挖掘

MySQL 安装

  1. 安装服务端
    sudo apt-get install mysql-server
  2. 安装客户端
    sudo apt-get install mysql-client

安装软件时,修复依赖关系

  1. sudo apt-get install update
  2. sudo apt-get -f install

设置环境变量的方法

  1. vi .bash_profile
  2. 添加如下内容保存退出
    export PATH=${PATH}:/usr/local/mysql/bin
  3. source .bash_profile
  4. mysql -uroot -p密码

  5. 查看服务状态
    sudo /etc/init.d/mysql start
  6. 启动服务端
    sudo /etc/init.d/mysql status

  7. 客户端连接
    远程连接 mysql -h主机地址 -u用户名 -p密码
    本地连接 mysql -hlocalhost -uroot -p123456
    本地连接 mysql -uroot -p


基本SQL命令

1. 库

  1. 查看所有库
    show databases;
  2. 创建库(指定字符集)
    Create database 库名 character set utf8;
  3. 查看创建库的语句(查看字符集)
    show create database 库名;
  4. 查看当前所在库
    select database();
  5. 切换库
    use 库名;
  6. 查看库中的表
    show tables;
  7. 删除库
    drop database 库名;

2. 表

  1. 创建表(别忘了选择库, 指定字符集)
    create table 表名(
    字段名 char(10),
    字段名 数据类型,
    字段名 数据类型
    )character set utf8;
    字段名与数据类型以空格分隔
  2. 修改表名(rename)
    alter table 表名 rename 新表名;
  3. 查看创建表的语句(字符集,存储引擎)
    show create table 表名;
  4. 查看表结构
    desc 表名;

    desc开头 describe\descend\ascend

3. 表字段

  1. 语法: alter table 表名 ...;
  2. 添加字段(add)
    alter table 表名 add 字段名 数据类型; 默认位置在最后
    alter table 表名 add 字段名 数据类型 first;
    alter table 表名 add 字段名 数据类型 after 字段名;
  3. 删除字段(drop)
    alter table 表名 drop 字段名;
  4. 修改
    修改字段数据类型(modify)
    alter table 表名 modify 字段名 新的数据类型;

    • 会受到表中已有数据的限制
      修改字段名(change)
      alter table 表名 change 原字段名 新字段名
  5. 查看表结构(查看表中字段)
    desc 表名;

4. 表记录

  1. 插入(insert)

    1. insert into 表名 values(一条记录1),(一条记录2),(..);
    2. insert into 表名(字段1, 字段2)values(值1), (值2);
  2. 删除表记录(delete)
    1. delete from 表名 where 条件;
    2. 注意
      一定要加where条件, 不加where条件全部删除表记录
  3. 更新表记录(update,set)
    1. update 表名 set 字段名1=值1,字段2=值2 where 条件;
    2. 一定要加where
  4. 查询(select)
    1. select * from 表名 where 条件;
    2. select 字段1, 字段2... from 表名 where 条件;

表字段, 表记录操作

表字段(alter table 表名) 表记录
增: add insert into 表名 ..
删: drop delete from 表名 ..
改: modify update 表名 set ...
查: desc 表名; select * from 表名 ...

表的复制

  1. create table 表名 select ... from 表名 where 条件;
  2. 复制表结构
    create table 表名 select ... from 表名 where false;

数据类型

  1. 数值类型
  2. 字符类型
  3. 枚举类型
  4. 日期时间类

  5. 日期时间函数
  6. 日期时间运算
  7. 运算符操作
  • 模糊查询(like)

1. 数值类型

  1. 整型
  2. int 大整型(4个字节) 32位
    取值范围: 0~(2^32 -1) 42亿多
  3. tinyint 微小整型(1个字节)
    1. tinyint signed(默认):-128~127
    2. tinyint nusigned: 0~255
    age tinyint unsigned,
  4. smallint 小整型(2个字节)
  5. bigint 极大整型(8个字节)
  6. 浮点型
  7. float(4个字节,最多显示7个有效位)
    字段名 float(m,n)
    m: 总位数最大为7
    n: 小数位位数
    例: float(5,2)取值范围: -999.99 ~ 999.99
  8. double(8个字节)
    字段名 double(m,n)
  9. decimal(m,n)
    存储空间(整数部分, 小数部分分开存储)
    规则: 将9的倍数包装成4个字节
余数 0 1-2 3-4 5-6 7-8
字节 0 1 2 3 4
例:decimal(19,9)整数部分: 10/9=1余1 4字节+1字节 = 5小数部分: 9/9=1余0  4字节+0字节 = 4总共 : 9个字节

2. 字符类型

  1. char() : 定长
    char(宽度) 宽度取值范围: 1 - 255
    name char(20)
    "A" --> 占20个字节
  2. varchar() : 变长__一定要传宽度值__
    varchar(宽度) 宽度取值范围 : 1 - 65535 限制最大字符串长度
  3. text / longtext(4G) /blob /longblob
  4. char 和 varchar的特点
  5. char :浪费存储空间, 性能高
  6. varchar: 节省存储空间, 性能低
  7. 字符类型的宽度和数值类型的宽度的区别
  8. 数值类型宽度为显示宽度, 只用于select查询时显示, 和占用存储无关, 可用zerofill设置用0填充
    例 id int(3) zerofill,(不够3个数左补零)
  9. 字符类型的宽度超过后无法存储

3. 枚举类型

  1. 单选enum
    sex enum('值', '值',...) DEFAULT '值',
  2. 多选set
    likes set('值', '值',...)

枚举类型使用示例

create table students( id int(3) zerofill,
name char(15),
age tinyint unsigned,
sex enum('male', 'female', 'secret'),
likes set('ml','killtime','sm','kickyouass'), score float(3,1)
)character set utf8;

指定为SET('one', 'two') NOT NULL
的列可以有下面的任何值:
''
'one'
'two'
'one,two'

4. 日期时间类

  1. date : 'YYYY-MM-DD'
  2. datetime : 'YYYY-MM-DD HH:MM:SS'默认值NULL
  3. timestamp : "YYYY-MM-DD HH:MM:SS"默认值CURRENT_TIMESTAMP
  4. time : 'HH:MM:SS'

1. 日期时间函数

  1. now()函数, 返回服务器当前日期时间"YYYY-MM-DD HH:MM:SS"
  2. curdate() 当前日期'YYYY-MM-DD' curtime() 当前时间'HH:MM:SS'

  3. date('1999-09-09 09:09:09') 提取 年月日
  4. time('...') 提取 时分秒
  5. year('...') 提取 年

select * from t2 where date(cztime) > '2018-08-00' ;
select * from t2 where date(cztime) <'2018-09-01' and date(cztime) > '2018-08-00';

2. 日期时间运算

1. 语法格式 
select * from 表名
where 字段名 运算符(时间-interval 时间间隔单位);
时间间隔单位:2 day | 3 hour | 1 minute | 2 year | 3 month

  1. 示例

    1. 查询1 天以内的充值记录
      select * from t2 where
      cztime >= (now()-interval 1 day);
    2. 查询1年以前的充值记录
      select * from t2 where cztime < (now()-interval 1 year);
    3. 查询1天以前, 3天以内的充值记录
      select* from t2 where cztime cztime <= (now()-interval 1day) and cztime >= (now() - interval 3 day );

3. 运算符操作

  1. 数值比较&&字符比较&&逻辑比较

    1. 数值比较: = != > >= < <=
    2. 字符比较: = !=
    3. 逻辑比较:and or
  2. 范围内比较
    1. between 值1 and 值2
    2. in(值1, 值2)
    3. not in(值1, 值2)
  3. 匹配空 和 非空
    1. 空: is null
    2. 非空: is not null
    3. 注意
      1. NULL :空值 , 只能用is, is not去匹配
      2. "" : 空值字符串,只能用 =, != 去匹配
  4. 模糊查询(like)
    1. where 字段名 like 表达式
    2. 表达式
      1. _: 匹配单个字符
      2. %: 匹配0到多个字符

转载于:https://www.cnblogs.com/ravener/p/9657327.html

MySQL基本语句与数据类型相关推荐

  1. MySQL语法语句大全

    MySQL语法语句大全 一.SQL速成   ; B/ X* Q; t/ W) v" ]结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表 ...

  2. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  3. linux mysql select_MySQL-Select语句高级应用

    阅读目录 1.1 SELECT高级应用 1.2 select中where子句使用 1.3 select中ORDER BY子句 1.4 LIMIT子句 1.5 多表连接查询 1.6 Informatic ...

  4. MySQL操作之JSON数据类型操作详解

    MySQL操作之JSON数据类型操作详解 这篇文章主要介绍了MySQL操作之JSON数据类型操作详解,内容较为详细,具有收藏价值,需要的朋友可以参考. 概述 mysql自5.7.8版本开始,就支持了j ...

  5. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  6. mysql decimal_MySQL系列之数据类型及约束

    点击关注 不迷路 前言 上篇咱们介绍了MySQL的基本情况和建库建表语句,当然必不可少的增删改查中的增删改也一并介绍了一下,此处再次强调语句,删库需谨慎,三思而后行. 内容简介 本篇会分两部分介绍: ...

  7. vip2-day22 MySQL 基础语句

    MySQL 8 新特性 数据字典:包含一个事务数据字典,用于储存有关数据库对象的信息.在之前的版本中,字典数据存储在元数据文件和非事务表中. 原子数据定义语句:支持原子数据定义语言(DDL). DDL ...

  8. Mysql常用语句帅哥特供版

    [TOC] Mysql常用语句帅哥特供版 没错,这里的帅哥指的就是我自己 limit命令 查询 # limit命令 有两个参数, 第一个代表起始,从第几条开始. 第二个代表步长,取多少条. # 但是部 ...

  9. 两小时学会MySQL查询语句(下篇)

    学生表 #创建表 CREATE TABLE LX_student( studentId INT(8) PRIMARY KEY NOT NULL, studentName VARCHAR(8) NOT ...

最新文章

  1. java基础 知识点
  2. malloc 就是返回开辟内存空间的首地址
  3. python面向对象(part1)--类和对象
  4. LeetCode 984. 不含 AAA 或 BBB 的字符串(贪心)
  5. C++中类和对象的一些注意事项 ---继承
  6. Java建造者模式详解
  7. Swiper学习之二---swiper的配置选项 ①
  8. 怎么看电脑配置高不高_辣椒产量高不高?关键看播种前的种子处理,你知道怎么做吗?...
  9. Excel--数据分列功能
  10. ssh配置config文件,实现vscode免密登陆
  11. 山西千年古堡张壁古堡:品“地道”中国年
  12. 【Frobenius norm(弗罗贝尼乌斯-范数)(F-范数)】
  13. 如何制作Android.9图片
  14. DVD管理系统修改版
  15. 【转】欧式空间与酉空间——概念区分
  16. CRM(客户关系管理)项目总结
  17. CDH集成了Kerberos后写入数据到HBase遇到的几个问题
  18. 统计源期刊《国际医学放射学杂志》
  19. 购买商品复选框全选 单选
  20. 计算机与应用课程,计算机基础与应用课程的教学探讨

热门文章

  1. Delphi中的指针类型
  2. VS2012发布网站详细步骤
  3. 判断某个元素是否使用jquery绑定方法
  4. bmp类型转成Halcon的Hobject类型
  5. dbeaver连接mysql 驱动jar_Jmeter(七) 从入门到精通 建立数据库测试计划实战lt;MySQL数据库gt;(详解教程)...
  6. 已知长短轴求椭圆上任意一点的坐标_高中数学必修2:平面解析几何——椭圆(经典习题)...
  7. linux bios芯片型号,如何准确判断主板BIOS类型 - 怎么看bios芯片型号_查看bios芯片型号...
  8. java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)
  9. highstock 只显示所有 不显示 月_小米34寸曲面显示器深度体验 办公体验极佳 但是还有个大弱点...
  10. python能处理多大的数据包-利用Python进行数据处理(更新)