• 数据库基本操作


    SQL命令

    SQL:结构化查询语言(Structured Query Language),在关系型数据库上执行数据操作,数据检索以及数据维护的标准化语言

    使用SQL语句,程序员和数据库管理员可以完成如下的任务:

    1. 改变数据库的结构
    2. 更改系统的安全设置
    3. 增加用户对数据库或表的许可权限
    4. 在数据库中检索需要的信息
    5. 对数据库的信息进行更新、备份、还原

    SQL语句的分类

    1. DDL(Data Definition Language): 数据定义语言,定义对数据库对象(库、表、列、索引)的操作
    2. DML(Data Manipulation Language):数据操作语言,定义对数据库记录的操作
    3. DCL(Data Control Language):数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别
    4. DQL(Data Query Language):数据查询语言,检索并获取数据

    SQL语句的书写规范:

    1、在数据库系统中,SQL语句不区分大小写(建议用大写) 。

    2、字符串常量区分大小写。

    3、SQL语句支持单行||多行书写,但必须以;结尾。

    4、关键字||词汇不能跨行书写。

    5、支持空格或缩进以提升语句的可读性。

    6、子语句通畅位于独立行,便于编辑,提高可读性

    1、数据库操作

    数据库名称可以由字母、数字和下划线组成。【】表示可写可不写

    在MySQL中,若没有指定字符集则数据表及表中的字符将使用默认字符集latin1

    1.1创建数据库

    语法:CREAT DATABASE 数据库名称【库选项】;

    库选项表示设置数据库的相关特性,如字符集CHARSET,校对集COLLATE等等

    在创建数据库时,如果数据库名已存在则程序会报错,因此我们可以在数据库名前添加IF NOT EXISTS来表示如果创建数据库名已存在则忽略此操作

    语法:CREATE DATABASE IF NOT EXISTS 数据库名称【库选项】;

    数据库的创建就是在存储数据的文件夹data中创建一个与数据库同名的目录,因此我们也可以通过在data下创建目录的方式来完成数据库的创建

    1.2查看数据库

    查看MYSQL服务器下所有数据库:

    SHOW DATABASES;

    查看指定数据库的创建信息:

    SHOW CREATE DATABASE 数据库名称; 

    1.3选择数据库

    在对数据和数据表进行操作前,首先需要选择数据库

    语法:USE 数据库名称;

    补充:我们可以在登录mysql服务器时选择数据库

    MySQL -u用户名 -p密码 数据库名

    1.4删除数据库

    删除数据库就是清除数据库中的所有数据,回收为数据库分配的内存空间

    语法:DROP DATABASE 数据库名称;

    在删除数据库时,若待删除的数据库不存在则程序会报错,因此我们可以在删除数据库时加入IF EXISTS

    语法:DROP DATABASE IF EXISTS 数据库名称;

    1.5其他

    1.5.1查看当前访问的数据库

    SELECT DATABASE();

    1.5.2查看当前数据库服务器版本

    SELECT VERSION();

    1.5.3 查看当前登录用户

    SELECT USER();

    1.5.4 查看用户详细信息

    SELECT User,Host [,PassWord] FROM mysql.user;

    注释

    在服务器实际运行时被忽略的注释

    单行注释:以#或--进行单行注释,但在使用--时须在最后一个-后添加至少一个控制字符(如空格、制表符、换行符等)防止注释--与减法运算的混淆

    多行注释:使/*  注释内容 */进行多行注释

    Mysql自带数据库(系统库):
       information_schema:主要存储了系统中的一些数据库对象信息,如用户信息,列信息,权限信息,字符集信息,分区信息等(数据字典)
       performance_schema:主要存储了数据库服务器的性能参数
       mysql:主要存储了系统的用户权限信息和帮助文档
       sys:5.7后新增产物,information_schema和performance_schema的结合体,并以视图形式显示出来的,查询出更加令人容易理解的数据。
       原则: 不轻易访问,不轻易修改,不轻易删除!!

    2、数据表操作

    在MySQL数据库中,所有数据都存储在数据表中

    2.1创建数据表

    在创建数据表时,应先选择数据库即USE 数据库名

    其语法如下:

    CREATE 【TEMPORARY】TABLE 【IF NOT EXISTS】表名(
        列名(字段名) 类型,
        列名(字段名) 类型,
        列名(字段名) 类型,
        列名(字段名) 类型,
        列名(字段名) 类型
    ) ENGINE = 存储结构;

    TEMPORARY表示临时表,在当前会话中可见,当会话关闭时自动删除

    字段名表示数据表的列名

    字段类型表示设置字段中保存的数据类型

    字段属性表示字段的默写特殊约束条件

    表选项用于设置表的相关特性,如存储引擎(ENGINE)、字符集(CHARSET)

    在创建表时可以使用COMMENT来添加注释内容,并将其保存到表结构中

    在操作数据表时可以不先选择数据库,可以直接将表名的位置改为数据库.表名的形式,其语法如下:

    CREATE TABLE 数据库.表名;

    2.2查看数据表

    2.2.1查看数据表

    语法:SHOW TABLES 【FROM 数据库名】【LIKE 匹配模式】;

    不添加【LIKE 匹配模式】则表示查看当前数据库中的所有数据表

    【LIKE 匹配模式】中匹配模式符有两种分别为“%”和“_”,前者表示一个或多个字符代表任意长度的字符串,也可以为0;后者仅表示一个字符

    LIKE后的匹配模式必须使用单引号或者双引号包裹

    2.2.2查看数据表的相关信息

    查看数据表的相关信息,如数据表的名称、存储引擎、创建时间等

    语法:SHOW TABLE STATUS【FROM 数据库】【LIKE 匹配模式】;

    2.3修改数据表

    2.3.1修改数据表名称

    在MySQL中提供了两种修改数据表名称的方式

    语法一:ALTER TABLE 旧表名 RENAME 【TO/AS】新表名;

    语法二:ALTER TABLE 旧表名1 TO 新表名1【,旧表名2 TO 新表名2】...;

    2.3.2修改表选项

    语法:ALTER TABLE 表名 表选项 【=】 值;

    2.4查看表结构

    查看数据表的字段信息

    MYSQL提供的DESCRIBE语句可以查看数据表中的所有字段或指定字段的信息,包括字段名、字段类型等

    语法格式一:查看所有字段的信息

    {DESCRIBE/DESC} 数据表名;

    语法格式二:查看指定字段的信息

    {DESCRIBE/DESC} 数据表名 字段名;

    查看数据表的创建信息

    语法:SHOW CREATE TABLE 表名;

    查看数据表结构

    语法格式一:SHOW 【FULL】 COLUMNS FROM 数据表名 【FROM 数据库名】;

    语法格式二:SHOW 【FULL】 COLUMNS FROM 数据库名.数据表名;

    可添加选项FULL表示显示详细信息,不添加FULL情况下与DESC语句查看的信息相同

    使用FULL后除了DESC语句查看到的信息以外还可看到字段的权限,COMMENT注释的内容等

    2.5修改表结构

    修改字段名

    仅修改数据表的字段名可使用CHANGE实现

    其语法如下:

    ALTER TABLE 表名 CHANGE 【COLUMN】旧字段名 新字段名 字段类型【字段属性】;

    修改字段类型

    MYSQL中修改字段类型通常使用MODIFY来实现

    其语法如下:

    ALTER TABLE 数据表名 MODIFY 【COLUMN】字段名 新类型 【字段属性】;

    修改字段位置

    字段的存储位置为字段编写的先后顺序,在调整字段位置时也可使用MODIFY来实现

    其语法如下:

    ALTER TABLE 数据表名

    MODIFY 【COLUMN】字段名1 数据类型【字段属性】【FIRST/AFTER 字段名2】;

    增加字段

    可使用ADD来增加新的字段

    语法格式一:新增一个字段,可指定位置

    ALTER TABLE 数据表名

    ADD 【COLUMN】新字段名 字段类型【FIRST/AFTER 字段名2】;

    语法格式二:同时新增多个字段

    ALTER TABLE 数据表名

    ADD 【COLUMN】(新字段名1 字段类型1,新字段名2 字段类型2,...);

    删除字段

    通过DROP完成

    语法:ALTER TABLE 数据表名 DROP 【COLUMN】字段名;

    2.6删除数据表

    删除数据库中已存在的表,删除数据表的同时,其中的数据都将被删除

    DROP 【TEMPORARY】TABLE【IF EXISTS】数据表1【,数据表2】...;

    复制表的结构(考虑到数据问题)

    1. 复制表的结构有两种手段
    2. 方式1:
    3. CREATE TABLE 语句的末尾加入 LIKE 源表;
    4. >>> CREATE TABLE Students1 LIKE Students;
    5. 方式2:
    6. CREATE TABLE 语句末尾添加 SELECT 关键字;
    7. >>> CREATE TABLE Students2 SELECT * FROM Students;
    8. 方法3:
    9. 如果已经有一张表了(结构一定要和源表一样)
    10. >>> INSERT INTO 表名 SELECT * FROM 源表;

  • 相关阅读:
    JavaScript从入门到精通系列第二十三篇:JavaScript中的数组
    SD卡笔记
    vue 日期控件 100天内的时间禁用不允许选择
    陆拾捌- 如何通过数据影响决策(三)
    C/C++统计满足条件的4位数个数 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
    【DELL】戴尔笔记本PE下没有硬盘解决方法
    以AI对抗AI,大模型安全的“进化论”
    超简单的vue实现生成二维码并下载为图片(可直接复制使用)
    NetSuite Budget功能包
    【狂神】MyBatisPlus笔记
  • 原文地址:https://blog.csdn.net/Thewei666/article/details/127703425