MySql学习

一、mySql登陆与退出

1.登陆

  mySql的登陆需要在命令行输入mySql后面再跟上相应的参数,前提是需要设置mySql的环境变量。

  

  默认的-h为本地回环地址127.0.0.1,默认的端口-P为3306.

 2.退出

  

二、修改MySql提示符

  修改MySql提示符可以通过两种方式实现

   

三、MySql常用命令以及语法规范

  1.常用命令

  

  2.语法规范

  

四、操作数据库

   1.创建数据库

     数据库是指数据库及其子对象的集合。mysql安装之后会自带4个数据库。{ }代表一定要有的,|代表在其两边做选择的,[ ]代表可选项

     IF NOT EXISTS避免了创建过程中数据库已经存在而产生报错

  

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

  

  3.查看创建数据库的时候使用的编码方式

    SHOW CREATE DATABASE 数据库名称-->显示数据库创建的时候的SQL语句

    4.创建指定编码格式的数据库

    CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk;

  5.修改数据库:

  

 五、MySql数据类型

  数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

  1.整形

    当我们的表记录达到上百万到上千万的时候,大小合适的数据类型的优越性就可以体现出来。

  

  2.浮点型

  Float:单精度浮点。

  Double:双精度浮点。

  

  3.日期时间型

  

  4.字符型

  

六、数据表

  数据表是数据库重要的组成部分之一,是其他对象的基础

  1.创建数据表

     USE数据库名称:打开数据库 

     SELECT DATABASSE():显示当前打开的数据库

    创建:CREATE TABLE [IF NOT EXISTS] table_name(

      column_name  data_type,

      ...

    )

     2.查看数据表

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

  3.查看数据表结构

       SHOW COLUMNS FROM tbl_name

  4.记录的插入与查找

    a.插入

      INSERT [INTO] tbl_name[(col_name,...)] VALUES (val,...)

    b.查找

      SELECTR expr,...FROM tbl_name

  5.MySql空值与非空

    NULL:字段值可以为空

    NOT NULL:字段值禁止为空

  6.MySQL自动编号:AUTO_INCREMENT

    自动编号,且必须与主键组合使用

    默认情况下,起始值为1,每次增量为1

  7.主键约束PRIMARY KEY

    每张数据表只能存在一个主键

    主键保证数据的唯一性

    主键自动为NOT NULL 

  8.唯一约束 UNIQUE_KEY

    唯一约束可以保证数据的唯一性

    唯一约束的字段可以为NULL

    每张数据表可以存在多个唯一约束

  9.默认约束 DEFAULT

    默认值

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

七 约束以及修改数据表

  约束保证数据的完整性和一致性,分为表级约束和列级约束,其类型包括NOT NULL非空约束,PRIMARY KEY主键约束

UNIQUE KEY唯一约束,DEFAULT默认约束,FOREIGN KEY外键约束

  1.外键约束的要求解析

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

      a.父表和子表必须使用相同的存储引擎,而且禁止使用临时表。

      b.数据表的存储引擎只能为InnoDB

      c.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度可以不同。

      d.外键列和参照列必须创建索引,如果外键列不存在索引的话,MySQL将自动创建索引。

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

    MySQL配置文件

      default-storage-engine=INNODB        

  2.外键约束的参照操作

    在进行了外键约束的创建以后,在更新表的时候子表是否也进行了相应的操作。

      a.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行

      b.SET NULL:从父表删除或更新行,并设置子表中的外间列为NULL。如果使用该选项,必须保证子表列没有指定NOTNULL

      c.RESTRICT:拒绝对父表的删除或更新操作

      d.NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同。

  3.表级约束与列级约束

  4.添加/删除列

  5.添加约束

  6.删除约束

  7.修改列定义和更名数据表

原文地址:https://www.cnblogs.com/dzj0712/p/9615415.html