IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql命令语法大全第一篇 -> 正文阅读

[大数据]Mysql命令语法大全第一篇

目录


前言

   本文是博主更新Mysql语言的第一篇,后面会定时更新完整,希望大家多多点赞收藏交流

作者介绍

 ? 作者简介:KJ.JK,CSDNJava领域新星作者

 ? 参加获奖过蓝桥杯、中国软件杯云计算、互联网+、创新创业大赛银奖

 ? 本文收录在数据库MYSQL基本语法

 ? 欢迎大家 点赞👍 收藏💖 关注🔒

一、MySQL数据库基本操作-DDL

1、什么是DDL

      DDL(Data Definition Language),数据定义语言,该语言部分包括以下内容:
          
               *对数据库的常用操作

               *对表结构的常用操作

               *修改表结构

2、常用的DDL命令


🔸 show databases; 查看所有数据库


🔸create database 数据库名字 库选项; 创建数据库

             范例: create database mydb1; 

🔸 use+空格+数据库名字; 使用该数据库

             范例:  use mydb1;

🔸 drop database 数据库名字; 删除数据库

                范例:  drop database mydb1;

🔸 alter database 数据库名 字符集编码; 修改数据库编码

                范例:  alter database mydb1 character set utf8; 

🔸 创建表格式

             create table [if not exists]表名(
                  字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
                  字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
                  字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
             )[表的一些设置];


   
          范例:
              create table student(
                   sid int ,
                   name varchar(20),
                   gender varchar(20),
                   age int,
                   birth date,
                   address varchar(20)
                );

🔸 常见的数值类型

在这里插入图片描述


🔸 数值类型

在这里插入图片描述


🔸 字符串类型

在这里插入图片描述


🔸 日期类型

在这里插入图片描述


🔸 show tables; 查看当前数据库的所有表名称


🔸 show create table 表名; 查看指定某个表的创建语句

             范例: show create table student;        //查看指定某个表的创建语句

🔸 desc 表名; 查看表结构

                  * 范例: desc student;       //查看表结构

🔸 drop table 表名; 删除表

                   * 范例:  drop table student;

🔸 alter修改表添加列

        * 语法1: alter table 数据表名 add 新字段名 字段类型[first/after 字段名];  //增加一个字段,可指定其位置
              
        * 范例1: alter table student add dept varchar(20);   -- 添加表中的一列

        
        * 语法2: alter  table 数据表名 add (新字段名1 字段类型1,新字段名2 字段类型2......):     
                         //不指定位置的情况下,默认增加到列表最后;新增多个字段不能指定字段的位置

        

🔸 change修改列名和类型

             * 语法: alter table 表名 change 旧列名 新列名 类型(长度) 约束;
             
             * 范例: alter table student change  dept department varchar(30);  -- 修改列名和类型

🔸 modify修改类型

                * 语法:  alter table 数据表名 modify 字段名 新类型 [字段属性];   

//modify 主要改类型, change主要改列的名字

🔸alter修改表删除列

                * 语法: alter table 表名 drop 列名
                    
                * 范例: alter table student drop department;   -- 删除表

🔸alter修改表名

                
                * 语法1: rename table student  to stu;    -- 语法:修改表名,简便方法
 
                * 语法2: alter table 旧表名 rename [to/as ] 新表名;
 
                * 语法3: alter table 旧表名1 to 新表名1,旧表名2 to 新表名2.....;     
                
                          //语法3的to可以同时修改多个数据表的名称,修改多个时不能省略


二、MySQL数据库基本操作-DML

1、什么是DML

        DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新
               
               关键字:
                       * 插入insert

                       * 删除delete

                       * 更新update

2、常用的DML命令


🔹insert插入数据

             * 语法1: insert into 表 (列名1,列名2,列名3...) values (1,2,3...);   //向表中插入某些数据
             
             * 范例1: 
                     insert into stu (sid,name,gender,age,birth,address,score) values
                     (1001,'张三','男',18,'2001-12-23','北京',85.5);   -- 插入一项数据
             
                         
             * 语法2: insert into 表 values (1,2,3...);     //向表中插入所有列

             * 范例2: insert into stu values(1006,'张华','女',21,'1999-01-08','广州',79);
      

🔹update更新数据

              *语法1: update 表名 set 字段名=,字段名=...;     //没有条件更新全部

              *范例1: update student set address = '重庆’;    //将所有学生的地址修改为重庆 

                 
             
              *语法2: update 表名 set 字段名=,字段名=... where 条件;   

              *范例2: update student set address = '北京' where id = 1004   //将id为1004的学生的地址修改为北京 

                     update stu set address='北京',score=100 where id=1005;    -- 更改多列

🔹delete删除数据 与 truncate删除数据

       *语法格式:
             
                * 语法: delete from 表名 [where 条件];

                * 范例: delete from stu where sid=1004;   //删除sid为1004的学生数据

                       delete from student;     //删除表所有数据

                
                * 语法: truncate table  表名 或者 truncate 表   
                    
                * 范例:  
                        truncate table student;

                        truncate student;
/*

  delete和truncate原理不同,
  delete只删除内容,而truncate类似于drop table ,
  可以理解为是将整个表删除,然后再创建该表

*/

三、MySQL约束

1、概念

            约束英文:constraint

            约束实际上就是表中数据的限制条件

2、作用

             * 表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,
             * 比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复

3、分类

                  * 主键约束(primary key) PK
                  
                  * 自增长约束(auto_increment)
                  
                  * 非空约束(not null)
                  
                  * 唯一性约束(unique)
                  
                  * 默认约束(default)
                  
                  * 零填充约束(zerofill)
                  
                  * 外键约束(foreign key) FK


四、MySQL约束—主键约束

1、概念

        * MySQL主键约束是一个列或者多个列的组合,"其值能唯一地标识表中的每一行,方便在RDBMS中尽快的找到某一行"

        * 主键约束相当于 "唯一约束 + 非空约束" 的组合,主键约束列不允许重复,也不允许出现空值。

        * 每个表最多"只允许一个主键"

        * 主键约束的关键字是:"primary key"

        * 当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引
            
        * 主键的作用: 主键约束的列非空且唯一

2、操作—添加单列主键

   "创建单列主键有两种方式":

           方式1: "一种是在定义字段的同时指定主键"   (在创建表的时候,直接在字段之后,跟"primary key关键字")
           方式2: "一种是定义完字段之后指定主键"     (在创建表的时候,在所有的字段之后,使用"primary key关键字")

方式1:在定义字段的同时指定主键

      *语法格式:              
              create table 表名(
                ...
               <字段名> <数据类型> primary key 
                ...
              );
                  
                  
       *范例:  
            create table emp1(
               eid int primary key,   -- 添加主键的方式1
               name varchar(20),
               deptid int,
               salary double
              );

在这里插入图片描述


方式2:在定义字段之后再指定主键

   * 语法格式:
              create table 表名(
                  ...
              [constraint <约束名>] primary key [字段名]
             );


   * 范例:
             create table emp2(
                 eid int, 
                 name varchar(20),
                 deptid int,
                 salary double,
                 constraint pk1 primary key(eid)   
                  -- 添加主键的方式2
                  -- constraint pk1 可以不写,pk1为主键的约束名
                  -- constraint 可以给主键写名字
              );
             

在这里插入图片描述


3、操作—添加多列主键(联合主键)

       * 所谓的联合主键,就是这个主键是由"一张表中多个字段组成的"

"注意":
       1. "当主键是由多个字段组成时""不能直接在字段名后面声明主键约束"
       2. 一张表只能有一个主键,"联合主键也是一个主键"
           
------------------------------------------------------------------------------------------------------------
           
     * 语法格式:
                create table 表名(
                         ...
                 primary key (字段1,字段2,…,字段n)
               );


     * 范例:
                 create table emp3(
                   name varchar(20),
                   deptid int,
                   salary double,
                   constraint pk2 primary key(name,deptid)    -- 联合主键
                 );



/*
                -- 联合主键,也只能一个主键,只是联合在一起作为一个主键
                -- 联合主键的话,那两个联合在一起的只要不是完全相同,就可以插进去
           insert into emp3 values('张三',10,5000); 
           insert into emp3 values('张三',20,5000);

                -- 联合主键的各列,每一列都不能为空
           insert into emp3 values(null,20,5000);  -- 不行
           insert into emp3 values('张三',null,5000);   -- 不行

*/
           

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


4、通过修改表结构添加主键(追加主键)

           "主键约束不仅可以在创建表的同时创建,也可以在修改表时添加"
           
-----------------------------------------------------------------------------------------------------------
           
        * 语法格式:

                alter table <表名> add primary key(字段列表);

        * 范例:
                alter table emp4 add primary key(eid);  -- 追加单列主键
                    
                alter table emp5 add primary key(name,deptid);  -- 追加多列主键
      

在这里插入图片描述


在这里插入图片描述


5、更新主键和删除主键

(1)更新主键

                  * 不能更新,主键必须先删除,才能更新

(2)删除主键

            
            "一个表中不需要主键约束时,就需要从表中将其删除"             
------------------------------------------------------------------------------------------------------------             
       *格式:
             alter table <数据表名> drop primary key;

       *范例:  
             alter table emp1 drop primary key;   -- 删除单个主键与多个主键都是一样的,因为只有一个主键而已

五、MySQL约束—自增长约束(auto_increment)

1、概念

      *MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,
      而由数据库系统根据定义"自动赋值"。每增加一条记录,主键会自动以相同的步长进行增长。

      *通过给字段添加 "auto_increment" 属性来实现主键自增长


2、自增长的语法格式

            * 语法: 字段名 数据类型 auto_increment
                
            * 范例:
                    create table t_user1(
                      id int primary key auto_increment,  -- 主键自增长约束
                      name varchar(20)
                    );

//任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值),也就是主键

在这里插入图片描述


3、自增长的注意事项

     * "默认情况下,auto_increment的初始值是 1", 每新增一条记录,字段值自动加 1
     
     * 一个表中"只能有一个字段使用 auto_increment约束",且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)
     
     * auto_increment约束的字段必须具备 NOT NULL 属性
     
     * auto_increment约束的字段"只能是整数类型"(TINYINT、SMALLINT、INT、BIGINT)* auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效


4、指定自增字段初始值

           *如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增
               
           *例如,如果表中插入的第一条记录的 id 值设置为 5,那么再插入记录时,id 值就会从 5 开始往上增加

(1) 方式1:创建表时指定

        * 范例:  
                create table t_user2(
                   id int primary key auto_increment,         //创建时指定自增长
                   name varchar(20)
                )auto_increment=100;

   insert into  t_user2 values(null,'张三');   -- id 初始为100

   insert into  t_user2 values(null,'张三');    -- id 自增为101

在这里插入图片描述


(2)方式2:创建表之后追加

          *范例:    
                    create table t_user3(
                      id int primary key auto_increment,
                      name varchar(20)
                     );


        alter table t_user3 auto_increment=200;            //追加自增长值

        insert into  t_user3 values(null,'张三');  -- id 初始为200

        insert into  t_user3 values(null,'张三');    -- id 自增为201

在这里插入图片描述


5、 修改自增长

              "自增长如果是涉及到字段的改变,必须先删除自增长,后增加"

----------------------------------------------------------------------------------------------------------
   * 修改当前自增长已经存在的值:
                    alter table 表名 auto_increment =;   //修改只能比当前已有的自增长的最大值大,不能小(小不生效)

   * 修改每次自增长增加多少 :
                    set auto_increment_increment=数字          

6、删除自增长

            * 语法:    alter table 表名 modify 字段 类型;

7、delete和truncate在删除后自增列的变化

(1)delete的变化

       -- delete 删除数据之后,自增长还是在最后一个值基础上加1
       -- 有起始值也一样从你上次断开的时候开始

在这里插入图片描述


(2)truncate的变化

           --truncate数据之后自动增长从默认起始值开始

在这里插入图片描述


六、MySQL约束—非空约束(not null)

1、概念

      * MySQL 非空约束(not null)指字段的值不能为空
        对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错

2、非空约束的语法格式


?

(1)方式1:创建表时指定

              * 语法: <字段名><数据类型> not null; 
 
              * 范例:
                    create table t_user6(
                           id int,
                           name varchar(20) not null,  -- 指定非空约束
                           address varchar(20) not null  -- 指定非空约束
                  );                 

在这里插入图片描述


(2)方式2:创建表之后追加

             * 语法: alter table 表名 modify 字段 类型 not null;

             * 范例:
                     alter table t_user7 modify name varchar(20) not null;

在这里插入图片描述


3、删除非空约束

              * 语法: alter table 表名 modify 字段 类型
                  
              * 范例: alter table t_user7 modify name varchar(20);    

在这里插入图片描述


作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:15:37  更:2022-05-24 18:16:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:04:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码