MySQL 学习 day1

1, MySQL 简介

  • mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的一款产品,由C和C++语言编写,可移植性高。支持

    在多种操作系统上安装,最常见有AIX,linux,window。mysql因为开源免费,所以受到了目前互联网行业的欢迎

  • 以mysql作为数据库,linux系统作为操作系统,apache或者nginx作为web服务器,perl/php/python作为服务端的脚

    本解释器,就可以搭建起一个免费的网站。被业界称为LNMP或者LAMP

2, MySQL sql 语句分类

- DDL:  数据定义语言 (Data Defifinition Language) 例如:建库,建表
- DML: 数据操纵语言(Data Manipulation Language) 例如:对表中的数据进行增删改操作
- DQL: 数据查询语言(Data Query Language) 例如:对数据进行查询
-  DCL: 数据控制语言(Data Control Language) 例如:对用户的权限进行设置

3, MySQL DDL sql

3.1 数据库相关操作
  • 创建数据库 sql:

    • create database + db_name; # create database test;
      
  • 进入数据库:

    • use + db_name; # use test;
      
  • 查看当前所在数据库:

    • select database(); # 注意此处是一个函数, 需要加()调用
      
  • 判断数据库是否存在, 如果不存在则创建:

    • create databses if not exists db_name;  # create database if not exists test1;
      
  • 指定数据库编码为 gbk:

    • create database db_name character set 'gbk'; # CREATE DATABASE test character SET 'utf8';
      
  • 查看数据库的编码:

    • show create database db_name;  # show create database test;
      
  • 查看当前mysql 使用的字符集:

    • show variables like 'character%';
      
3.2 数据表常用的数据类型
  • 整数类型

    类型大小范围(有符号)范围(无符号)
    TINYINT1 B(-128, 127)(0, 255)
    SMALLINT2 B(-32768, 32767)(0, 65535)
    MEDIUMIT3 B(-8388608,8388607)(0,16777215)
    INT4 B很大很大
    BIGINT8 B很大很大
  • 浮点型

    类型大小说明
    FLOAT(m, d)4字节m代表总个数, d表示小数位个数
    DOUBLE(m, d)8字节m代表总个数, d表示小数位个数
  • 定点类型

    类型大小说明
    DECIMAL(m,d)依赖m,dm代表总个数, d表示小数位个数
  • 字符串类型

    类型大小(实测大小为宽度, mysql:5.7)用途
    CHAR0-255
    VARCHAR0-65535
    TINYTEXT0-255
    TEXT0-65535
    MEDIUMTEXT0-16777215
    LOGTEXT0-4294967295

    char 和 varchar 对比: char 存储内存固定, 所占空间会大些, 但是存取速度会快一些;

  • 时间类型

    类型字节数格式备注
    data3yyy-mm-dd日期
    time3HH:mm:ss时分秒
    year1yyyyy
    datetime8yyyy-MM-dd HH:mm:ss日期+时间
    timestamp4yyyy-MM-dd HH:mm:ss时间戳
3.3 MySQL 数据表
  • 创建表

    • create table table_name (
      	字段一 字段类型1 约束1 说明1,
          字段二 字段类型2 约束2 说明2,
          字段三 字段类型3 约束3 说明3,
          字段四 字段类型4 约束4 说明4
      ) 
      
      CREATE table teacher (
      	id int auto_increment PRIMARY KEY,
      	name VARCHAR(5) NOT NULL DEFAULT "" COMMENT "老师姓名",
      	age TINYINT NOT null COMMENT "老师年龄",
      	identify VARCHAR(64) not null
      )
      
  • 约束条件

    • comment         ----说明解释
      not null       ----不为空
      default         ----默认值
      unsigned       ----无符号(即正数)
      auto_increment ----自增
      zerofill       ----自动填充
      unique key     ----唯一值
      
  • 查看表基本结构信息

    • show tables;  -- 查看当前数据库所有的表
      desc teacher; -- 查看表结构
      show CREATE TABLE teacher;  -- 查看创建表的 SQL 语句
      
  • 修改表名

    • RENAME TABLE old_table_name to new_table_name;
      # RENAME TABLE teacher to tea;
      
  • 增加一列

    • alter table table_name add column_name 类型 限定条件 说明;
      # ALTER TABLE tea add gender ENUM("m", 'w', 'unknown') not null DEFAULT 'unknown';
      
  • 修改列类型

    • alter table table_name modify column_name 新类型
      # alter table tea MODIFY age int;
      
  • 修改列名

    • alter table table_name change old_column_name new_column_name 类型 限制条件;
      # ALTER TABLE tea CHANGE name nickname CHAR(50) DEFAULT 'haha';
      
  • 删除列

    • alter table table_name drop column_name;
      # ALTER table tea DROP nickname;
      
  • 删除表

    • drop table table_name;
      # drop table stu1;
      # drop table if exists stu1; 
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值