首页 > 数据库 >Mysql基础

Mysql基础

时间:2024-05-02 13:56:33浏览次数:16  
标签:COMMENT VARCHAR -- 数据库 基础 Mysql TABLE 环境变量

  1. 为什么要配置环境变量?

    当你想直接用cmd打开某个.exe软件,但却出现以上情况时,可以通过配置环境变量来解决。配置了常用软件的环境变量后,在系统的任意路径下,打开cmd,输入软件,即可打开应用。

    环境变量:是在操作系统中用来指定操作系统运行环境的一些参数。
    环境变量中的path环境变量:当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应该到path中指定的路径下去寻找。

    查询路径优先级顺序:win10中,环境白那辆包括用户变量和系统变量。用户变量有与系统变量。
    查询顺序为:当前目录下路径>用户变量>系统变量,若找不到,就会报错
    系统变量针对所有用户起作用,为了安全一般配置用户环境变量;用户变量只对当前用户起作用,为了省事一般配置系统环境变量

  2. 数据库的分类
    关系型数据库(SQL):通过表和表之间,行和列的关系进行数据的存储;Mysql,Oracle...
    非关系型数据库(NOSQL):对象存储,通过对象的自身的属性来决定;Redis,MongDB...

  3. 常用的基本命令

    --服务的启动和停止
    net stop mysql
    net start mysql
    --登陆mysql
    mysql -u 用户名 -p用户密码
    --创建数据库
    create database [if not exists] <数据库名>;
    --查询所有数据库
    show databases;
    --删除数据库
    drop database [if exists] <数据库名>;
    --进入数据库
    use <数据库名>;
    --查询数据库下表
    show tables;
    --显示数据库中表的信息
    describe <表名>;
    
  4. 数据库语言:DDL(定义),DML(操作),DQL(查询),DCL(控制)

  5. 常用的数据类型:

    类型 大小 范围(有符号) 范围(无符号) 用途
    INT 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
    BIGINT 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
    FLOAT 4 Bytes (-3.402 823 466 E+38,-1.175 494 351 E-38) (0,1.175 494 351 E-38,3.402 823 466 351 E+38) 单精度浮点数值
    DOUBLE 8 Bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308) (0,2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点数值
    DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
    DATETIME 8 Bytes '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' YYYY-MM-DD hh:mm:ss 混合日期和时间值
    TIMESTAMP 4 Bytes '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC YYYY-MM-DD hh:mm:ss 混合日期和时间值,时间戳
    VARCHAR 0-65535 bytes 0-65535 bytes 0-65535 bytes 变长字符串
    TEXT 0-65535 bytes 0-65535 bytes 0-65535 bytes 长文本数据
  6. 数据库的字段属性:

    Unsigned: 无符号整数,声明了该列不能为负数
    zerofill: 不足的位数,使用0来填充
    自增: 通过自己设置的值在上一条记录的基础上进行自增
    not null: 写数据的时候必须要赋值
    默认: 设置默认的值,不指定该列的值的话,会根据你自己设定的默认值进行赋值
    每张表必有的5个属性:
    id:主键
    `version` :乐观锁
    is_delete:伪删除
    gmt_create:创建时间
    gmt_update:修改时间
    
  7. 表的创建语句:

    -- 创建一个school数据库
    -- 创建学生表(列,字段) 使用SQL创建
    -- 学号int 登陆密码varchar(20) 姓名,性别varchar(2),出生日期datatime,家庭住址,email
    
    -- 注意:使用英文(),表的名字 和 字段 尽量用``括号起来
    -- AUTO_INCREMENT 自增
    -- 字符串使用''单引号包裹
    -- 所有语句后面加英文逗号 , 最后一个不用加
    -- PRIMARY KEY 主键,一般一张表只有一个
    CREATE TABLE IF NOT EXISTS `student` (
        `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
        `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
        `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
        `sex` VARCHAR(3) NOT NULL DEFAULT '保密' COMMENT '性别',
        `birthday` DATETIME DEFAULT NULL COMMENT '生日',
        `address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
        `email` VARCHAR(50) DEFAULT NULL COMMENT 'email',
        PRIMARY KEY(`id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8
    
    --固定的创建格式
    CREATE TABLE [IF NOT EXISTS] `表名` (
    '字段名' 列类型 [属性] [索引] [注释],
    '字段名' 列类型 [属性] [索引] [注释],
    ......
    '字段名' 列类型 [属性] [索引] [注释]
    )[表类型] [字符集设置] [注释]
    
    --查看操作语句
    SHOW CREATE DATABASE school -- 查看创建数据库的语句
    SHOW CREATE TABLE student2 -- 查看创建表的语句
    DESC student -- 显示表的结构
    
  8. 关于数据库引擎

    • InnoDB 默认使用
    • MYISAM 早些年使用
    MyISAM InnoDB
    事务支持(同时成功或同时失败) 不支持 支持
    数据行锁定(锁定一行) 不支持(表锁定) 支持
    外键约束(在数据库内关联另一张表) 不支持 支持
    全文索引 支持 不支持(MySQL 5.6.4后支持)
    表空间大小 较小 较大,约为MyISAM2倍
    常规操作使用:

    MyISAM:节约空间,速度较快
    InnoDB:安全性高,事务支持,多表多用户操作(外键约束)

  9. 修改和删除表:

    -- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
    ALTER TABLE student RENAME AS student1
    -- 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性
    ALTER TABLE student1 ADD sex VARCHAR(2)
    -- 修改表的字段(重命名,修改约束)
    ALTER TABLE student1 MODIFY sex INT(2) -- 修改约束
    ALTER TABLE student1 CHANGE sex sex1 VARCHAR(2) -- 重命名字段,可以修改约束
    -- 删除表的字段
    ALTER TABLE student1 DROP sex1
    -- 删除表(如果存在
    DROP TABLE  IF EXISTS student1

标签:COMMENT,VARCHAR,--,数据库,基础,Mysql,TABLE,环境变量
From: https://www.cnblogs.com/hytip/p/18169725

相关文章

  • mysql连接不上,服务中找不到mysql
    分析因为太久没使用mysql,服务自动删除了解决注册/安装服务win+x,a,以管理员打开powershell(或者使用cmd,随你)#注意此处需要引号,因为有空格#1.cd到mysql的可执行文件,如果记不得或者像我一样懒,直接everything搜索mysqld.exe即可cd'C:\ProgramFiles\MySQL\MySQLServer8......
  • vue-基础
    渲染的范围<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><p>狂神说Java</p><!--view层模板--><divid="app&quo......
  • 自动安装环境shell脚本使用和运维基础使用讲解
    准备和说明确认有网。依赖程序集,官网只提供32位压缩包,手动编译安装后,在64位机上识别不出来,只能用yum包管理从源上拉下来,需要有网。安装unzip,git,wget,用来解压安装包,如果服务器已有会自动跳过安装yum-yinstallunzipyum-yinstallgityum-yinstallwget使用r......
  • 推荐一个教程,适用于想学python但是只学点基础知识用于刷题的
    省流:https://www.bilibili.com/video/BV1Lk4y117Cb?p=1&vd_source=4a339d299e165d8fe38b9926c5240eae我以前一直使用Java刷题,但是随着刷题的数量越来越多,越发感觉Java真的不适合用来刷题,看leetcode里面的大佬们基本都是清一色的c++和python,所以我也是想学点python用于刷题,花了......
  • You have an error in your SQL syntax; check the manual that corresponds to your
    在进行增加User对象时采用了PreparedStatement对象,方法executeQuery()和executeUpdate()都是无参方法,所以不要写成prepareStatement.executeQuery(sql)或prepareStatement.executeUpdate(sql)publicintadd(Useruser){Connectionconnection=JDBCTools.getConnecti......
  • quine和mysql8新特性
    Quinesqliquine是mysql注入中的一种特殊的攻击方式.服务端对于用户登录的判断方式如下,则可以考虑quine攻击.functioncheckSql($s){if(preg_match("/regexp|between|in|flag|=|>|<|and|\||right|left|reverse|update|extractvalue|floor|substr|&|;|\\\$|0x|sleep|\/i"......
  • 类基础
    成员函数的声明必须在类内部,定义可内可外,内部的是隐式内联的。当调用一个成员函数的时候,this指针被调用对象初始化。C++允许把this指针声明成指向const对象的指针,在成员函数参数列表后面加const即可,const对象只能调用这种成员函数。类本身是一个作用域,成员函数嵌套在类作用域......
  • Linux基础之网络管理
    目录网络配置服务管理防火墙配置文件下载wget和curl网络连接信息netstat和ssLinux网络管理涉及一系列任务,包括配置网络接口、设置IP地址、管理网络服务和防火墙等。网络配置网卡命名根据网络接口定义设备:ethX传统的以太网接口命名方式,其中X通常是数字,如eth0等wlan......
  • 基础
    计算机组成原理计算机硬件的组成 #计算机硬件通常由以下几个部分组成:1.中央处理器(CPU):负责执行计算机指令,完成各种计算和逻辑操作。2.存储器(Memory):用于存储计算机执行程序所需的数据和指令,包括主存(RandomAccessMemory,RAM)和辅助存储器(如硬盘、光盘等)。磁盘(......
  • 关于在CentOS7的docker容器下启动MySQL5.7.44卡住的问题的解决办法
    最近想在docker中跑一个MySQL5.7版本的服务,而且要基于CentOS,所以着手自己构建镜像。容器的构建参照下面这篇文章基于CentOS7镜像容器的MySQL环境构筑-sxb_sunday-博客园(cnblogs.com)构建完成后,用下面命令启动MySQL服务的时候,启动进程一直卡住没有反应,只能CTRL+C强制停止。......