热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL——操作数据库

文章目录1、连接数据库2、数据库增删改查3、数据表的列类型4、数据表的字段属性5、表的操作5.1、数据表的类型5.2、创建表5.3、修改表5.4、删除表6、数据表管理6.1、DML

文章目录

  • 1、连接数据库
  • 2、数据库增删改查
  • 3、数据表的列类型
  • 4、数据表的字段属性
  • 5、表的操作
    • 5.1、数据表的类型
    • 5.2、创建表
    • 5.3、修改表
    • 5.4、删除表
  • 6、数据表管理
    • 6.1、DML语言
    • 6.2、添加
    • 6.3、修改
    • 6.4、删除


MySQL关键字不区分大小写


1、连接数据库

mysql -uroot -p123456 -- 连接数据库
flush privileges; -- 刷新权限
---------------------------------------------------------
-- 所有的语句用使用;结尾
show databases; -- 查看所有的数据库mysql> use school; -- 切换数据库 use 数据库名;
Database changedshow tables; -- 查看所有数据库中所有的表
desc student; -- 查看数据库表结构create database westos; -- 创建数据库exit; --退出连接-- 单行注释
/*
多行注释
*/


2、数据库增删改查

  1. 创建数据库:

    CREATE DATABASE [IF NOT EXISTS] 数据库名;

  2. 删除数据库:

    DROP DATABASE [IF EXISTS] 数据库名;

  3. 使用数据库:

    USE 数据库名;

  4. 查看数据库:

    SHOW DATABASES;


3、数据表的列类型
  • 数值:

    tinyint十分小的数据1个字节
    smallint较小的数据2个字节
    mediumint中等大小的数据3个字节
    int标准的整数4个字节
    big较大的数据8个字节
    float浮点数4个字节
    double浮点数8个字节
    decimal字符串形式的浮点数
  • 字符串:

    char字符串0 ~ 255
    varchar可变字符串0 ~ 65535
    tinytext微型文本2^8-1
    text文本串2^16-1
  • 时间日期:

    dateYYYY-MM-DD日期格式
    timeHH:mm:ss时间格式
    datetimeYYYY-MM-DD HH:mm:ss日期+时间
    timestamp时间戳1970.1.1到现在的毫秒数
    year年份表示
  • null:

    1. 没有值,未知
    2. 不要使用null进行运算

4、数据表的字段属性
  • Unsigned:
    1. 无符号的数值
    2. 声明了该列不能声明为负数
  • zerofill:
    1. 0填充
    2. 不足的位数,使用0来填充
  • AUTO_INCREMENT:
    1. 通常理解为自增,自动在上一条记录
    2. 通常用来设计唯一的主键,必须是整数类型
    3. 可以自定义设计主键自动自增的起始值和步长
  • null not null:
    1. 如果设置为 not null,如果不给它赋值,就会报错
    2. null,如果不填写值,默认就是null
  • DEFAULT:
    1. 默认的值
    2. DEFAULT Java学不会,如果不指定该列的值,则会有默认的值

5、表的操作

5.1、数据表的类型


  • 对比:

    MYISAMINNODB
    事物支持不支持支持
    数据行锁定不支持支持
    外键约束不支持支持
    全文索引支持不支持
    表空间大小较小较大,约为两倍
  • 常规使用的操作:

    1. MYISAM:节约空间,速度较快
    2. INNODB:安全性搞,事务的处理,多表多用户操作
  • 物理空间的位置:

    1. 所有的数据库文件都在data目录下
    2. 本质还是文件的存储
  • MySQL 引擎在物理文件上的区别:

    1. INNODB:在数据库表中只有*.frm文件,以及上级目录下的ibdata1文件
    2. MYISAM:
      1. *.frm表结构的定义文件
      2. *.MYD 数据文件(data)
      3. *.MYI 索引文件(index)
  • 设置编码:CHARSET=utf8mb4


5.2、创建表


  • 创建表:

    CREATE TABLE 表名(
    `字段名1` 属性(长度) [约束,索引] COMMENT '注释1',
    `字段名2` 属性(长度) [约束,索引] COMMENT '注释2',
    `字段名3` 属性(长度) [约束,索引] COMMENT '注释3',
    )ENGINE=INNODB DEFAULT CHARSET=utf8mb4

  • 查看创建的语句:

    SHOW CREATE TABLE 表名; -- 查看创建表的语句
    SHOW CREATE TABLE 数据库名; -- 查看创建数据库语句
    DESC 表名; -- 查看表结构


5.3、修改表


  • 修改表名:

    ALTER TABLE 旧表名 RENAME AS 新表名;

  • 增加字段:

    ALTER TABLE 表名 ADD `字段名` 属性(长度);

  • 修改标的字段:

    ALTER TABLE 表名 MODIFY `字段名` 属性(长度); -- 修改字段属性
    ALTER TABLE 表名 CHANGE `旧字段名` `新字段名` 属性(长度)[约束]; -- 修改字段名并从新设置属性

  • 删除字段:

    ALTER TABLE 表名 DROP 字段名;


5.4、删除表


  • 所有的创建和删除操作尽量加上判断,以免报错

    DROP TABLE [IF EXISTS] 表名;


6、数据表管理

6.1、DML语言


  • 数据库意义: 数据存储,数据管理
  • DML语言: 数据操作语言
    1. INSERT
    2. UPDATE
    3. DElETE

6.2、添加


  • INSERT:
    1. 字段和字段之间使用英文逗号隔开
    2. 字段可以省略,但是后面的值要一一对应,不能少

    INSERT INTO 表名([字段1,字段2,字段3,···]) VALUES ('值1','值2','值3',···);


6.3、修改


  • UPDATE:

    UPDATE 表名 SET `字段名`=新内容 WHERE 条件字段名=条件; -- 修改指定的字段数据
    UPDATE 表名 SET `字段名`=新内容; -- 修改表里所有该字段的数据
    UPDATE 表名 SET `字段名1`=新内容,`字段名2`=新内容,··· WHERE 条件字段名=条件; -- 修改指定的字段数据


6.4、删除


  • DELETE:

    DELETE FROM 表名 字段名 WHERE 条件字段名=条件; -- 删除指定字段数据
    DELETE FROM 表名 字段名; -- 清空表数据 自增不会归零(不影响自增)

  • TRUNCATE:


    TRUNCATE TABLE 表名; -- 清空表数据 自增会归零(重置自增)


推荐阅读
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • 本文探讨了在SQL Server 2008环境下,当尝试删除拥有数据库架构的用户时遇到的问题及解决方案,包括如何查询和更改架构所有权。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • 本文将详细介绍 SQL 中的 SUM 函数及其用法,并通过具体示例展示如何在实际场景中应用。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 本文总结了设计、开发和部署Web应用程序时应遵循的一些最佳实践,这些实践结合了个人经验和权威资料,旨在帮助开发者提高Web应用的安全性。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
author-avatar
丹_jie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有