MySQL数据库入门

目录

mysql概述

数据库存储数据的特点

Sql

DDl(Data Definition Language)语言

整数类型 : 

浮点类型 : 

 字符串类型 : 

日期类型 : 

BLOB类型 : 

Text 类型 : 

表结构及创建表 : 

DML(Data Manipulation Language)语言

插入数据 : 

修改数据 :

删除数据 :

DQL-基础查询(Data Query Language)语言

结语 


mysql概述

安装mysql可参考 :mysql数据库安装教程_羡羡ˇ的博客-CSDN博客

MySQL 是一个关系型数据库管理系统 由瑞典 MySQL AB 公司开发,目前属于Oracle 旗下产品。 MySQL 流行的关系型数据库管理系统。
 

数据库存储数据的特点

将数据放到表中,表再放到库中
一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的设计。
表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性”
表中的数据是按行存储的,每一行类似于Java中的“对象”。

Sql

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统 

DDl(Data Definition Language)语言

它是用来创建和修改数据库表结构的语言。

常用的语句: create ,alter,drop,rename , 例 :
创建数据库并设置编码格式
CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]
删除数据库
DROP DATABASE 数据库名 / [IF EXISTS 数据库名 ];
修改字符集
ALTER DATABASE 数据库名 CHARSET gbk;
CREATE DATABASE demo --创建数据库
DROP DATABASE demo   --删除数据库

我们知道,表是由列构成的, 如何来创建一个表呢 ? 

对于具体的某一个表,在创建之前,需要确定表的下列特征:
表名 ( 表信息 )
表中的字段
字段的数据类型和长度
哪些约束

在创建之前 , 我们首先需要了解mysql里的基本数据类型

整数类型 : 

浮点类型 : 

 

数据类型 (M,D)
M :精度,数据的总长度; D:标度,小数点后的长度
Float(6,2) Double(6,2)

 字符串类型 : 

char n ) 长度为 n 的定长字符串
varchar(n ) 最大长度为 n 的可变长字符串

这里简要说明一下 char 与 varchar 的区别

char(n)直接开辟n长度的空间 , 不管实际存放长度是否小于n

而varchar(n) 实际开辟的空间由n的实际值决定

日期类型 : 

date 日期, 包含年月日
datetime  包含 年月日 时分秒

BLOB类型 : 

BLOB是一个二进制大对象,可以容纳可变数量的数据, 用于存储图片视频信息
4 BLOB类型:TINYBLOB、 BLOB、 MEDIUMBLOB LONGBLOB
它们只是可容纳值的最大长度不同。

Text 类型 : 

TINYTEXT TEXT MEDIUMTEXT LONGTEXT
它们(TEXTBLOB 同)的长度
Tiny :最大长度 255 个字符 (2^8-1)
BLOB TEXT :最大长度 65535(2^16-1)
Medium :最大长度 16777215(2^24-1)
Long  最大长度 4294967295(2^32-1)

表结构及创建表 : 

主键:在一张表中代表唯一的一条记录, 不能为空 , 不能重复
约束 :
PRIMARY KEY 设置主键约束
NOT NULL         不能为空约束
UNIQUE             唯一性约束
检查约束           需要设置条件
外键约束
主键自动增长 AUTO_INCREMENT
默认值  DEFAULT default_value
字段注释 : comment '注释 '

接着我们来创建一个表 

 格式 : CREATE TABLE 表名 ( 列名 数据类型 [ 约束 ] [ 默认值 ] [ 注释 ],......)   例:
-- 创建表
CREATE TABLE t_user (
  -- 主键为id 不能为空 自增
  id INT  PRIMARY KEY NOT NULL AUTO_INCREMENT, 
  -- 编号 int型,长度为5 不能为空
  number INT (5) NOT NULL,
  -- 名字 varchar类型 不能为空
  NAME VARCHAR (10) NOT NULL,
  -- 年龄 int类型 check约束必须大于18
  age INT (3) CHECK (age > 18),
  -- 生日 date型
  birthday DATE,
  -- 体重
  weight DOUBLE,
  -- 操作时间
  opertime DATETIME
)

建表如下 : 

 删除和修改表 : 

删除表
DROP TABLE [if exists ]表名
修改表名
RENAME TABLE 旧表名 TO 新表名
复制表结构
CREATE TABLE 新表名 LIKE 被复制表名;
DROP TABLE t_user    -- 删除表
RENAME TABLE t_user TO q_user  -- 修改表名

修改表结构语法如下,这里先不示例 :

添加主键约束
ALTER TABLE 表名 ADD PRIMARY KEY( 列名 )
ALTER TABLE 表名 DROP PRIMARY KEY
设置自动增长
ALTER TABLE 表名 MODIFY 列名 类型 AUTO _ INCREMENT ;
删除自动增长
ALTER TABLE users MODIFY 列名 类型 ;
设置不能为空
ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL ;
ALTER TABLE 表名 MODIFY 列名 类型 NULL ;
添加唯一约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE( 列名 )
ALTER TABLE 表名 DROP INDEX  约束名 ;
添加检查约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK( 条件 )
ALTER TABLE 表名 DROP CHECK 约束名 ;
添加列
ALTER TABLE 表名 ADD 列名 数据类型
ALTER TABLE 表名 ADD 列名 数据类型 FIRST
ALTER TABLE 表名 ADD 列名 数据类型 AFTER 列名
删除列
ALTER TABLE 表名 DROP 列名
修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型
修改列的数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型

DMLData Manipulation Language)语言

常用语句: insert,delete,update

插入数据 : 

方式 1: INSERT INTO 表名 ( 1, 2……, n) VALUES( 1, 2….., n);
方式 2: INSERT INTO 表名 set 列名 1= 1,.. 列名 n= n;
方式 3: INSERT INTO 表名 ( 1, 2……, n) VALUES( 1, 2….., n),( 1, 2…..,值n);
方式 4:INSERT INTO 表名 ( 1, 2……, n) 查询语句 ( 查询的列数与插入列数匹配 )
-- 插入数据
-- 方式1
INSERT INTO t_user (number,NAME,age,birthday,weight,opertime)
     VALUES (100,'李雷',20,'2001-04-15',150,NOW())
-- 方式2
INSERT INTO t_user SET number=101,NAME='张三',age=20,
     birthday='2001-05-19',weight=200,opertime=NOW()

 插入成功

修改数据 :

 UPDATE 表名 SET 列名 = ‘新值 ’WHERE 条件

-- 修改数据 where后跟条件
UPDATE t_user SET number='102',age=21 WHERE id=1

删除数据 :

DELETE FROM 表名 WHERE 条件
TRUNCATE TABLE 表名 ; 清空整张表
-- 删除数据
DELETE FROM t_user WHERE id=1

 

DQL-基础查询Data Query Language)语言

这里只先介绍单表查询, 多表查询后续会提到

语法 : select 查询列表 from 表名 ;
-- 简单查询
SELECT number,NAME FROM t_user

结语 

  本篇文章是为初学者做一个入门, 希望对你们有帮助, 关于mysql8的其他问题将会在后面的文章中一一说到, 例如多表查询等问题, 谢谢阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值