MySQL基础学习——第一篇

目录

MySQL定义

MySQL的安装

MySQL打开

MySQL常用数据类型

一,数值类型

二,日期和时间类型

三,字符串类型

MySQL基础命令

一,关于库的内容

1,怎创建数据库

2,删除数据库

3,查看所有数据库

二,关于表的内容

首先需要进入某个数据库

1,怎样创建一个数据表

2,删除数据表

3,查看数据库中的所有数据表

1,查看数据表的内容详细定义

2,查看数据表中数据

3,往表中添加数据

4,删除表中数据

5,修改表中数据

三,mysql建表约束

1,主键约束

2,联合主键

3,唯一约束

4,自增约束

5,外键


MySQL定义

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL的安装

这里使用的是HeidiSQL,一款用于简单化迷你的 MySQL 服务器和数据库管理的图形化界面。

下载链接:

链接:https://pan.baidu.com/s/1lnm4IrDremAnhvKAO4qVDQ 
提取码:1rv5 
复制这段内容后打开百度网盘手机App,操作更方便哦

MySQL打开

直接win+R,输入cmd打开命令行界面

然后输入mysql -u用户名 -p密码(u即user,p即password)

MySQL常用数据类型

一,数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 bytes(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度
浮点数值
DOUBLE8 bytes(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度
浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

二,日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

类型大小
( bytes)
范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS混合日期和时间值,时间戳

三,字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型大小用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

MySQL基础命令

一,关于库的内容

1,怎创建数据库

create database school;

2,删除数据库

drop database school;

3,查看所有数据库

show databases;


二,关于表的内容

首先需要进入某个数据库

use school;

1,怎样创建一个数据表

create table student(
           name char(10),
           id char(10),
           sex char(2),
           age int);

2,删除数据表

drop table student;

3,查看数据库中的所有数据表

show tables;


1,查看数据表的内容详细定义

describe student;     或者直接用  desc  student;

2,查看数据表中数据

select * from student;

3,往表中添加数据

insert into student
values('小明','180001','男',12);

4,删除表中数据

delete from student where name = '小明';

5,修改表中数据

update student set age=20 where name = '小明';


三,mysql建表约束

1,主键约束

作用:主键是一个表中能标识唯一行的标志;
           也就是我们通过某个字段添加主键约束,就可以保证该字段不重复且不为空

create table user1(
       id int primary key,
       name char(10)
);

1.1,添加主键约束

create table user3(
       id int,
       name char(10));

alter table user3 add primary key(id);

1.2,删除主键约束

alter table user3 drop primary key;


2,联合主键

作用:联合主键就是用2个或2个以上的字段组成主键。
          用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。需要保证联合起来的主键值加起来不能重复,且都不为空

create table user2(
       id int,
       name char(10),
       primary key(id, name)
);


3,唯一约束

作用:所有记录中字段的值不能重复出现,但是可以为空;

create table user4(
       id int,
       name char(10));

alter table user4 add unique(name);

3.1,删除唯一约束

alter table user4 drop index name;


4,自增约束

作用:即当字段设置为空时,可以自动增加。

  • 一个表只能有一个自增约束
  • 只能是整数列
  • 约束的列必须是键列(主键,唯一键或者外键)

create table user5(
      id int primary key auto_increment,
      name varchar(20)
);

insert into user5 (name) values('张三');


5,外键

定义:外键即将另一个数据表中的一列数据引用过来,也就是两个互通。用来建立和加强两个表数据之间的连接。
           涉及到两个表:父表,子表(主表,从表),两者息息相关。
           子表中添加与关联列相关的数据时,如果父表没有,则不能添加
            父表中删除与关联列相关的数据时,需要先删除子表中的列。

班级
create table class(
     id int primary key,
     name varchar(20)
);

学生
create table students(
        id int primary key,
        name varchar(20),
        class_id int,
        foreign key(class_id) references class(id)
);

  • 41
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大学生毕设

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值