• 58.【MySQL 四种语言】


    DDL(数据定义语言)

    (一)、数据库操作

    定义:用于对数据库、数据表的创建、修改、删除、查询

    1.查询数据库(show datatbases)

    1.展示数据库全部信息

    show databases;    展示全部数据库信息
    

    2.查找单个数据库的编码信息

    show CREATE database <dbname>;     查找单个数据库的文件信息
    
    

    在这里插入图片描述
    在这里插入图片描述

    2.创建数据库(creat database 自定义数据库名)

    1.直接创建数据库

    create database  <dbname>    创建数据库名字为<dbname>
    

    假如说已经存在,你再此运行窗口就会给你报错。显示该数据库已经存在。
    在这里插入图片描述
    **2.判断语句进行创建数据库 **

    CREATE database if not exists <dbname>;    假如说不存在数据库<dbname> 就执行
    

    假如说数据库不存在就创建,否则不创建。
    在这里插入图片描述
    3.在创建数据库的同时指定编码格式:(utf8 gbk)

    create database if not exists <dbname> CHARACTER set utf8;
     假如说不存在数据库two 就执行,同时指定数据库的字符集(数据存储在数据库的编码格式)
    

    在这里插入图片描述

    3.修改数据库 (字符集)
    ALTER database <dbname> character set gbk; 
      修改two数据库的字符集为gbk
    

    4.删除数据库:

    1.直接删除

    drop database <dbname>;
    

    假如说数据库里不存在了,再次运行会报错。
    在这里插入图片描述
    2.判断删除(假如说存在就删除)

    DROP database if exists <dbname>;
    

    在这里插入图片描述

    5.使用或则切换数据库:
    use <dbname>;   使用库
    
    6.查询当前库的名字:
    select database admin();
    

    (二)、数据表操作:

    char : 字符数一样。 (汉字占两个字节)
    varchar: 字符数不一样。

    1.创建数据表:

    在这里插入图片描述
    首先创建表的前提是: 在一个库中。首先我们要使用这个库

    CREATE TABLE if not exists <TableName>(    加入说在库中不存咋表 那么就创建
    	字段(属性) 数据类型(字节) 是否可空 	数据是否可相同
    	stu_id 		char(8) 		not null 		unique, 
    	stu_name 	varchar(20) 	not null ,
    	stu_sex 	char(2) 		not null,
    	stu_age 	int 			not null,
    	stu_phone 	char(11)  		not null		 unique ,
    	stu_qq		 varchar(11) 					unique
    );
    
    2.查看数据表:

    1.查看表的创建:

    show tables; 
    

    在这里插入图片描述
    2.查看表的属性结构

    DESC <TableName>;    展示出创建的表
    

    在这里插入图片描述
    3.查询指定表的建表语句

    show create table <表名>;
    

    在这里插入图片描述

    3.删除数据表

    1.删除表

    drop TABLE if exists <TableName>;           删除表
    

    在这里插入图片描述
    2.删除表(并重新创建新的表)

    Truncate table 表名;
    
    4.修改数据表

    1.修改表名:

    alter table <TableName> rename to <NewTableName>;  修改表名
    

    2.修改表的字符集:

    alter table <TableName> character set <编码格式>;  修改表的编码格式
    

    3.增加字段(属性\列)

    alter table <TableName> add <增加的字段名> <type>;
    

    在这里插入图片描述
    4.修改字段和类型

    alter table <TableName> change  <被修改的字段名> <新的字段名> <type>;
    

    在这里插入图片描述
    5.只修改字段的类型:

    alter table <TableName> modify  <被修改的字段名>  <NewType>;
    

    在这里插入图片描述
    7.删除字段:

    alter table <TableName> drop <被删除的字段>;
    

    在这里插入图片描述

    (三)、MySQL的数据类型

    1.数值类型

    1.整形:
    取值范围如果加了unsigned,则最大值翻倍。比如 tinyint unsigned(0~256);
    在这里插入图片描述
    2.数值类型(double float)
    在这里插入图片描述
    3.定点数()
    浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。

    				declima(m,d);
    所占内存 m+2;
       m<65;
       连上小数一共最多有65个。
       d<30&&d<m
        小数部位最多有30个并且小数部分不能大于总数。
    
    2.字符串类型:

    在这里插入图片描述

    char和varchar:
    1.char(n)若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
    2.char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节.varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
    3.char类型的字符串检索速度要比varchar类型的快。
    varchar和text:
    1.varchar可指定n,text不能指定,内部存储 varchar是存入的实际字符数+个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
    2.text类型不能有默认值。
    3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

    3.日期数据类型:

    在这里插入图片描述
    若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的间。

    (四)、字段的约束:

    通过对字段的类型进行约束。就是字段的约束.为了保障数据的有效性,保证数据的完整性(null),保证数据的唯一约束(unique).

    NULL 字段的内容可以为空
    NOT NULL 字段的内容绝不可以为空
    Unique 字段的内容绝对不能重复
    primary key 能够唯一标识数据表中的某个字段的属性
    forigner key 主要建立不同表之间的关系。
    

    在这里插入图片描述

    1.主键(primary key)

    能够唯一标识数据表中的某个字段的属性,一个表中最多只有一个主键并且主键不能为空。(不空)(不重复)
    创表的同时,添加主键。

    stu_id 		char(8) 		primary key;   后面的约束可省略
    

    创建表之后,再添加主键。

    alter table <TableName> modify <被添加主键的字段名> <Type> primary key;
    
    2.删除主键
    alter table <TableName> drop primary key;
    
    3.主键自动增长

    我们在创建数据表的时候,假如说表中有列可以作为主键(列如 学生表中的学号,图书馆中图书管号)我们可以把这个列作为主键。

    当有些数据表中没有合适的列作为主键的时候,我们可以额外定义一个与记录本身无关的(ID)作为主键,此列数据无具体的含义主要用于标识一条记录,在mysql中我们可以将此设置为int,并且同时设置为 自动增长

    定义主键自动增长型:

    auto_increment    自动增长
    

    DML(数据操纵语言)

    (一)、数据表数据的添加

    在这里插入图片描述

    1.指定字段数据的插入
    insert into <数据表名>(字段1,字段2) values (1,值2);
    
    2.全部数据的添加
    insert into <数据表> values(1,值2,值3);
    
    3.批量添加操作
    insert into <数据表>(字段1,字段2) values(1,值n),(1,值n)
    
    4.全部数据添加
    insert into <数据表> values(1,值2),(1,值2); 
    
  • 相关阅读:
    Debezium日常分享系列之:使用数据库中的数据流进行在线机器学习
    基于JAVA衡师社团管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    Linux 命令行历史及其history
    LeetCode -- 79.单词搜索
    StarRocks 易用性全面提升:数据导入可以如此简单
    Django auth 应用模块
    初识 SpringMVC,运行配置第一个Spring MVC 程序
    一级缓存和二级缓存在Mybaits和操作系统中分别指什么
    Vue--》简易资金管理系统后台项目实战(前端)
    linux基本指令(Chapter 2)
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/126883028