• MySQL


    1、登录mysql

    mysql  -u 用户名 -p -P3306 -h 主机名
    

    参数说明:

    -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
    -u : 登录的 用户名;
    -p : 告诉服务器将会使用一个 密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

    MySQL默认端口号:3306

    2、修改MySQL提示符

    连接客户端的时候通过参数指定

    mysql -u密码 -p密码 --prompt 提示符
    

    连接上客户端以后,通过prompt命令

    mysql>prompt 提示符
    

    提示符参数

    D    完整日期
    d    当前数据库
    h    服务器名称
    u    当前用户
    

    3、MySQL语句规范

    语句规范

    • 关键字与函数名称全部大写
    • 数据库名称、表名称、字段名称全部小写
    • SQL语句必须以分号结尾

    常用命令

    SELECT VERSION();         显示当前服务器版本
    
    SELECT NOW();                显示当前日期时间
    
    SELECT USER();               显示当前用户
    
    SELECT DATABASE();        显示当前打开的数据库
    
    SELECT *FROM TBNAME; 显示表
    
    SHOW WARNNINGS;        显示警告信息
    
    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name  创建数据库
    
    SHOW CREATE DATABASE dbname    查看数据库创建时的信息,包括编码方式
    
    SHOW CREATE TABLE tablename        查看表创建时的信息,包括数据库引擎
    
    SHOW COLUMNS FROM TBNAME      查看表的信息
    
    SHOW TABLES                                      查看当前数据库中的表
    
    SHOW DATABASES                               查看系统中的数据库
    
    SHOW INDEXES FROM tabelnameG        显示索引 G以网格的形式来呈现
    
    ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name        修改编码方式
    
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name        删除数据库
    

    4、操作数据库

    创建数据库

    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
    

    {}必选;
    []可选;
    | 二选一;
    [IF NOT EXISTS] :如果创建一个已经存在数据库将跳过错误信息;
    [DEFAULT] CHARACTER SET [=] charset_name:指定数据的编码方式
    例如:

    CREATE DATABASE t1;        创建一个叫t1的数据库
    CREATE DATABASE  IF NOT EXISTS t2 CHARACTER SET gbk;    创建一个叫t2的数据库,默认编码方式为gbk
    

    查看当前服务器下的数据库列表

    SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]
    

    修改数据库编码方式

    ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name        修改编码方式
    

    把数据库t2的编码方式修改为utf8

    mysql>ALTER DATABASE t2 CHARACTER SET utf8;
    

    删除数据库

    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name        删除数据库
    

    删除数据t1

    mysql>DROP DATABASE t1;
    

    5、数据类型

    整型和浮点型

    M是数字总位数,D是小数后面的位数。

    日期和时间型

    字符型

    6、数据表(表)

    创建数据表

    行:称为记录
    列:称为字段
    打开数据库:
    USE 数据库名称
    创建数据表----列:

    CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type,....)
    

    查看数据表

    SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
    

    查看数据表结构

    SHOW COLUMNS FROM tb_name
    

    MySQL记录的插入、查找、修改列值、约束

    向数据表中写入记录----行

    INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)  向指定列,赋值;省略列名,为所有字段赋值
    

    记录查找

    SELECT expr,...FROM tbl_name
    
    SELECT * FROM tb1; * 代表字段的过滤,表示全部字段
    

    修改某一列的值

    Update 语句
    Update 语句用于修改表中的数据。
    语法:
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    更新某一行中的一个列
    我们为 lastname 是 "Wilson" 的人添加 firstname:
    UPDATE Person SET FirstName = 'beijing' WHERE LastName = 'shanghai'

    更新某一行中的若干列
    我们会修改地址(address),并添加城市名称(city):
    UPDATE Person SET Address = 'jinqiaolu', City = 'shanghai'
    WHERE LastName = 'beijing'

    MySQL空值与非空

    • NULL,字段值可以为空
    • NOT NUll,字段值禁止为空(非空约束)

    自动编号

    为字段添加AUTO_INCREMENT属性,保证记录的唯一性

    • 自动编号,且必须与主键组合使用
    • 默认情况下,起始值为1,每次的增量为1

    PRIMARY KEY(主键约束)

    • 主键约束
    • 每张数据表只能存在一个主键
    • 主键保证记录的唯一性
    • 主键自动为NOT NULL



    UNIQUE KEY(唯一约束)

    • 唯一约束
    • 每张数据表可以存在多个唯一约束
    • 唯一约束可以保证记录的唯一性
    • 唯一约束的字段可以为空值(NULL)


    DEFAULT(默认约束)

    • 默认值
    • 当插入记录时,如果没有明确为字符段赋值,则自动赋予默认值

    7、约束以及修改数据表

    约束
    1、约束保证数据的完整性和一致性。
    2、约束分为表级约束和列级约束。(约束针对一个字段约束,称为列级约束;针对多个称为,表级约束)
    3、约束按类型分为:
    NOT NULL(非空约束)
    PRIMARY KEY(主键约束)
    UNIQUE KEY(唯一约束)
    DEFAULT(默认约束)
    FOREIGN KEY(外键约束)

    FOREIGN KEY(外键约束)

    保持数据一致性,完整性。
    实现一对一或一对多关系。

    Mysql外键约束的要求

    1、父表和子表必须使用相同的存储引擎,而且禁止使用临时表。
    2、数据表的存储引擎只能为InonoDB
    3、外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度可以不同。
    4、外键列和参照列必须创建索引。如果外键列不存在索引的话,Mysql将自动创建索引。

    编辑数据表的默认存储引擎

    MySQL配置文件 my.ini
    default-storage-engine=INNODB
    然后重启MySQL

    外键列和参照列必须具有相似的数据类型




    外键约束的参照操作

    1、cascade:从父表删除或者更新且自动删除或更新子表中匹配的行
    2、set null:从父表删除或更新行,并设置子表中的外键行为null,如果使用该选项,必须保证子表列没有指定not null
    3、restrict:拒绝对父表的删除或更新操作。
    4、no action:标准SQL的关键字,在mysql中于restrict相同

  • 相关阅读:
    3.31上午英语视频
    3.30上午
    leetcode 38
    leetcode 36
    leetcode 28
    leetcode 27
    leetcode 26
    leetcode 24
    leetcode 21
    leetcode 20
  • 原文地址:https://www.cnblogs.com/louisduan66/p/10777159.html
Copyright © 2020-2023  润新知