mysql学习
问题
- '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【】
-
登陆数据库服务器
mysql -u root -p
-
查看所有得数据库
show databases
-
选中一个数据库,进行操作
use database
-
查看某个数据库中所有得表
show tables
-
创建数据表
`create table
属性名不能大写?
查看数据表结构
describe table
插入数据:insert into table values( ...)
数据类型
删除数据
修改数据
mysql 建表月数据
-
主键约束
唯一确定一张表中的一条记录,我们通过给某个字段添加约束,就可以使该字段不重复且不为空
image-20200613232012503联合主键
image-20200613232608675 -
自增约束
-
image-20200613233320549
-
外键约束
-
唯一约束
-
非空约束
-
默认约束
1. 创建数据表
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数据库中表的存储类型。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎
- InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键
- MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其它应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。
- MEMORY存储引擎将表中的数据存储在内存中,为查询和引用其它表数据提供快速访问方式。
3.8删除表的外键约束
ALTER TABLE <> DROP FOREIGN KEY <外键约束名>
4.删除数据表
4.1删除没有关联的表
DROP TABLE [IF EXISTS] 表1,表2,表n
4.2删除被其他表关联的主表
-
在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因时直接删除,将破坏表的参照完整性.
-
如果必须要删除,可以先删除与之关联的子表,再删除父表
-
将关联的表的外键约束条件取消,可以删除父表,同时保留子表
5.数据类型
- 数值型:用来存储数字
TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER),BIGINT
- 浮点数类型和定点数类型
浮点数:FLOAT,DOUBLE
定点数:DECIMAL
- 日期与时间类型
DATETIME,DATE,TIMESTAMP,TIME,YEAR
- 字符串类型
CHAR,VARCHAR,TEXT,EUNM,SET
BINARY,VARBINARY,BLOB
- 二进制类型
BINARY,VARBINARY
TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
运算符
o算术运算符是SQL中最基本的运算符。
+、 -、 *、 /、 %
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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吗?