mysql学习

问题

  1. 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。
右击我的电脑——>属性——>高级系统设置——>环境变量——>系统变量——>Path里添加";
C:\Program Files\MySQL\MySQL Server  8.0\bin",实际上就是mysql.exe的文件夹之后确定就好不过发现还是不行,再看,原来还要让CMD以管理员的身份运行

CREATE DATABASE database_name

DROP DATABASE database_name

https://www.csdn.net/gather_2f/MtTaYgxsMjg4OC1ibG9n.html[如何选择数据类型]

https://www.sohu.com/a/165511362_487482【10个Mysql数据库运维案例】

https://www.awaimai.com/1146.html【】

  1. 登陆数据库服务器
    mysql -u root -p

  2. 查看所有得数据库
    show databases

  3. 选中一个数据库,进行操作
    use database

  4. 查看某个数据库中所有得表
    show tables

  5. 创建数据表

    `create table

属性名不能大写?

image-20200613233843541

image-20200613233843541

查看数据表结构

describe table

image-20200613230339232

image-20200613230339232

image-20200613230558099

image-20200613230558099

插入数据:insert into table values( ...)

数据类型

删除数据

image-20200613231343030

image-20200613231343030

修改数据

image-20200613231440490

image-20200613231440490

mysql 建表月数据

  • 主键约束

    唯一确定一张表中的一条记录,我们通过给某个字段添加约束,就可以使该字段不重复且不为空

    image-20200613232012503

    image-20200613232012503

    联合主键

    image-20200613232608675

    image-20200613232608675

  • 自增约束

  • image-20200613233320549

    image-20200613233320549

  • 外键约束

  • 唯一约束

  • 非空约束

  • 默认约束

1. 创建数据表

image-20200616224431031

image-20200616224431031

      CREATE  TABLE <表名>
      (
	列名1,数据类型 [列级别约束条件] [默认值],
	列名2,数据类型 [列级别约束条件] [默认值],
	……
	[表级别约束条件]
       );

1.1主键约束

主键:表中一列或多列的组合(主键约束,要求主键列的数据唯一,并且不允许为空)

字段名 数据类型 PRIMARY KEY[默认值] // 单字段
PRIMARY KEY [字段1,字段2,...,字段n] //多字段

1.2外键约束

外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以用一个或多个外键,一个表的外键可以为空值,如果不是空值,则每一个外键值必须等于另一个表中主键的某个值。

CONSTRAINT <外键名> FOREIGN KEY 列名[,列名2,...] REFERENCES <主表名> 主键列1[,主键列2,...]

1.3非空约束

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

字段名 数据类型 not null

1.4唯一性约束

要求该列唯一,允许为空,但只能出现一个空值(唯一性约束可以确保一列或者几列不出现重复值)

字段名 数据类型 UNIQUE

1.5默认约束

指定某列的默认值

字段名 数据类型 DEFAULT 默认值

1.6设置表属性值自动增加

在每次插入新记录时,系统就会自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。

一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。

字段名 数据类型 AUTO_INCREMENT

2.查看表结构

2.1DESCRIBE

可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等。DESCRIBE <表名>

2.2SHOW CREATE TABLE

显示数据表的创建语句SHOW CREATE TABLE <表名>

3.修改数据表

3.1修改表名

ALTER TABLE <旧表名> RENAME [TO] <新表名>

3.2修改字段的数据类型

ALTER TABLE <表名> MODIFY <字段名> <数据类型>

3.3修改字段名

ALTER TABLE <表名> CHANGE <字段名> <新字段名> <新数据类型>

3.4添加字段

ALTER TABLE <表名> ADD <字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在字段名]

3.5删除字段

ALTER TABLE <表名> DROP <字段名>

3.6修改字段的排列

ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>

3.7更改表的存储引擎

ALTER TABLE <> ENGINE=<更改后的存储引擎名>

在Mysql中,存储引擎是指Mysql数据库中表的存储类型。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎

  1. InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键
  2. MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其它应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。
  3. MEMORY存储引擎将表中的数据存储在内存中,为查询和引用其它表数据提供快速访问方式。

3.8删除表的外键约束

ALTER TABLE <> DROP FOREIGN KEY <外键约束名>

4.删除数据表

4.1删除没有关联的表

DROP TABLE [IF EXISTS] 表1,表2,表n

image-20200616234235360

image-20200616234235360

4.2删除被其他表关联的主表

  • 在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因时直接删除,将破坏表的参照完整性.

  • 如果必须要删除,可以先删除与之关联的子表,再删除父表

  • 将关联的表的外键约束条件取消,可以删除父表,同时保留子表

5.数据类型

  1. 数值型:用来存储数字

TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER),BIGINT

  1. 浮点数类型和定点数类型

浮点数:FLOAT,DOUBLE
定点数:DECIMAL

  1. 日期与时间类型

DATETIME,DATE,TIMESTAMP,TIME,YEAR

  1. 字符串类型

CHAR,VARCHAR,TEXT,EUNM,SET
BINARY,VARBINARY,BLOB

  1. 二进制类型

BINARY,VARBINARY
TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB

运算符

o算术运算符是SQL中最基本的运算符。

+、 -、 *、 /、 %

posted @   三两研几  阅读(54)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示