MySQL基础学习——第一篇

2020/11/27 10:51
阅读数 31

目录

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。下面的表显示了需要的每个整数类型的存储和范围。

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 byte (-128,127) (0,255) 小整数值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 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) 单精度
浮点数值
DOUBLE 8 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)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

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。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-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)
);





展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部