• MySQL之基础语句



    一、常用的数据类型

    类型解释举例
    int整型用户定义整数类型的数据(1、2、3、4、5…)
    fliat单精度浮点(4字节32位)准确表示小数点后6位
    double双精度浮点(8字节64位)小数位更多,更精确
    char固定长度的字符类型定义字符长度(存的少,会补空格,存的多被截取,高版本报错)
    varchar可变长度的字符类型定义字符最大长度(存的少,总长度变小,存的大于最大,报错)
    text文本
    image图片
    decimal(5,2)总共5个有效长度数字,小数点后面有两位

    char和varchar的区别

    • **char:**如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本被截取,高版本会报错
    • **varchar:**如果存入的数据实际长度比指定长度要小,那么指定长度会变成实际长度一样,如果存入的数据的实际长度大于指定长度,会报错

    截取和截断的区别
    截取会对后一位进行四舍五入,截断直接获取要的数字,不进行四舍五入


    二、数据库管理

    SQL语言分类

    • DDL:数据定义语言,用于创建数据库队先后,如库、表、索引等
    • DML:数据操纵语言,用于对表中的数据进行管理
    • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
    • DCL:数据控制语言,用于设置或更改数据库用户或角色权限

    1.MySQL基础语句操作

    1.1登录数据库

    mysql -uroot -pngs123     #直接登录数据库,用-P输入密码,这样不安全
    mysql -uroot -p     #登录数据库,不输入密码,回车之后再输入
    
    • 1
    • 2

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

    1.2查询数据库结构

    show databases;     #查看有多少数据库
    use mysql;          #进入一个数据库中
    show tables;        #查看该数据库中有多少个表
    
    • 1
    • 2
    • 3

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

    1.3查看表的结构

    describe db;    #查看db表的结构(可缩写位desc db;)
    
    • 1

    在这里插入图片描述

    2.DDL语句:定义数据中的操作

    DDL语句可用于创建数据库对象(库、表、索引)
    删除数据库和表

    2.1创建数据库和表-create

    CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
    create database nba;     #创建一个名为nba的数据库
    create table star (id int(10) not null,name int(3) not null,time decimal(4,2),score decimal(3,1),backboard decimal(3,1),secondary decimal(3,1),address varchar(20) default '0',primary key (id));    #创建一张名为star的表,(定义id不为空,名字不为空,默认值为0,主键为id)
    create table nba.star (id int(10))    #在任意库中创建nba库中的star表
    
    • 1
    • 2
    • 3
    • 4

    创建一个名为nba的数据库,并查看数据库
    在这里插入图片描述
    进入创建的数据库中,查看数据库中的表,为空
    在这里插入图片描述
    在数据库中创建名为star的表

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

    2.2删除数据库和表-drop

    use 数据库名
    drop table 表名;
    drop table [数据库名].表名; 
    
    • 1
    • 2
    • 3

    删除数据库
    在这里插入图片描述
    删除表
    在这里插入图片描述
    在这里插入图片描述

    3.DML语句:管理表中的数据记录

    3.1插入数据-insert

    INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);
    
    • 1

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

    操作实例

    在nba1库中创建star这张表,要求字段为:id,name,time,score,backboard,secondary,address
    要求:id为主键,除了address之外其他字段不能为空,address可以为空,且默认为los Angeles

    create database nba1;    #创建库
    create table star (id int(3) not null primary key,name varchar(40) not null,time decimal(3,1) not null,score decimal(3,1) not null,backboard decimal(3,1) not null,secondary decimal(3,1) not null,address varchar(30) default 'los Angeles');
    #创建表
    insert into star values(24,'kobe',41.2,32.6,9.8,4.5,'los Angeles');    #插入数据
    select * from star;    #查看
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    3.2更新原有数据-update

    update 表名 set 字段1=字段值1,字段2=字段值10 where 表达式;
    update star set time=40.5,secondary=3.8 where name='ONeal';
    #把name为ONeal的行中,time改为40.5,secondary改为3.8
    update star set backboard=13.5 where id>30;
    #将id大于30的,backboard改为13.5
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    3.3删除不需要的数据(表内容)-delete

    格式:delete from 表名 where 条件表达式;
    delete from star where name='yeyan'
    
    • 1
    • 2

    在这里插入图片描述

    4.DQL语句:查询数据记录-select

    格式:select 字段1,字段2 from 表名 【where 条件表达式】;
    
    • 1

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

    5.DCL语句:数据控制语言-alter

    aliter:修改表名称或表结构
    格式:alter table 旧表名 rename 新表名;
    
    • 1
    • 2

    在这里插入图片描述

    5.1扩展表结构(增加字段)

    alter table 表名 add age int(3) default 'unknow';
    
    • 1

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

    5.2修改字段(列),添加唯一键

    alter table 表名 change 旧列名 新列明 数据类型 {unique key}
    unique key:唯一键(特性,唯一,但可以为空,空值只允许出现一次)
    primary key :主键(唯一且非空)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    5.3删除字段

    alter table 表名 drop 字段名;
    
    • 1

    在这里插入图片描述


    三、了解约束

    create table if not exists info (id int(4) zerofill primary key auto_increment,name varchar(10) not null,cardid int(18) not null unique key,hobby varchar(50));
    
    if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建。
    int(4) zerofill:表若数值不满4位数,则前面用“0”填充,例0001。
    auto_increment: 表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可重复,自增长字段必须是主键,如添加的距离数据没有指定字段的值且添加失败也会自动递增一次。
    unique_key : 表示此字段唯一约束,此字段数据不可以重复,一张表中只能有一个主键,但是一张表中可以有多个唯一键。
    not null : 表示此字段不允许为NULL。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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


    总结

    SQL语言的分类

    DDL:数据定义语言,用于创建和删除数据库表等操作
    create (创建)、drop(删除)

    DML:数据操纵语言,用于管理表中的记录,对数据进行增、删、改的操作
    insert(插入)其中有into(插入)、selete(删除)、update(改)其中为set(修改)

    DQL:数据查询语言,主要用来查询数据库中的记录
    select(查看)

    DCL:数据控制语言,用来针对字段属性的增、删、改增操作

    alter(修改字段),其中有add(添加)、change(修改)、drop(删除)

  • 相关阅读:
    数字孪生论文阅读笔记【1.2】
    QT:工业软件开发的首选“
    前端算法
    List集合拆分为多个List
    物联网行业知识概览(一)
    KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(1)
    练习31-35:多表关联查询、多条件自连接查询、子查询、窗口函数等
    2023/9/15 -- C++/QT
    1 - Windows 10 - Python 类的常用高级系统函数(方法)通识
    【解刊】IEEE旗下,中科院1区TOP,影响因子将突破40!
  • 原文地址:https://blog.csdn.net/S314118142/article/details/126816853