暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL基础篇 (一)​

李子捌 2021-06-28
213

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。接下来会出几篇MySQL的学习笔记,供大家一起学习!


1、操作数据库

1、创建数据库

CREATE DATABASE IF NOT EXISTS user;
复制

2、删除数据库

DROP DATABASE IF EXISTS user;
复制

3、使用数据库

-- 如果使用的表名或者字段名是一个特殊字符,则需要带``
USE `user`;
复制

4、查看数据库

-- 查看所有的数据库
SHOW DATABASE;
复制


2、数据库的列类型

1、数值类型

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的值小数值


2、日期和时间类型

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混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

3、字符串类型

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极大文本数据


3、MySQL 创建数据表

1、通用语法

-- CREATE TABLE table_name (column_name column_type);

CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`version` int(10) NOT NULL DEFAULT '1' COMMENT '版本',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`gmt_update` datetime DEFAULT NULL COMMENT '修改时间',
`is_delete` int(1) DEFAULT NULL COMMENT '伪删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
复制
  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

  • PRIMARY KEY关键字用于定义列为主键。您可以使用多列来定义主键,列间以逗号分隔。

  • ENGINE 设置存储引擎,CHARSET 设置编码,COLLATE排序规则


4、删除数据库表

1、通用语法

-- DROP TABLE table_name
DROP TABLE `user`;
复制


5、插入数据

1、通用语法

--INSERT INTO table_name (field1, field2, field3...) VALUES (values1, values2, values2...);

-- 字段与value一一对应
INSERT INTO `user` (name, age, email, version, gmt_create, gmt_update, is_delete) VALUES ('李子捌', '18', '1057301174@qq.com', 1, NOW(), NOW(), 1);

-- 没有字段名则需要顺序一致
INSERT INTO `user` VALUES (8, '李子捌', 18, '1057301174@qq.com', 1, NOW(), NOW(), 1);

INSERT INTO `user` SET name = '李子捌', age = 18;
复制


6、查询语句

1、通用语法

--SELECT column_name,column_nameFROM table_name[WHERE Clause][LIMIT N][ OFFSET M]

select * from `user`;
复制
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

  • SELECT 命令可以读取一条或者多条记录。

  • 可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

  • 可以使用 WHERE 语句来包含任何条件。

  • 可以使用 LIMIT 属性来设定返回的记录数。

  • 可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。


7、MySQL WHERE 子句

1、通用语法

--SELECT field1, field2,...fieldN FROM table_name1, table_name2...[WHERE condition1 [AND [OR]] condition2.....

SELECT name, age FROM `user` WHERE name = '李子捌' or age = 18;
复制
  • 可以在 WHERE 子句中指定任何条件。

  • 可以使用 AND 或者 OR 指定一个或多个条件。


8、MySQL UPDATE 更新

1、通用语法

-- UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
UPDATE `user` SET age = 3 WHERE name = '李子捌' AND email = '1057301174@qq.com';
复制
  • 可以同时更新一个或多个字段。

  • 可以在 WHERE 子句中指定任何条件。

  • 可以在一个单独表中同时更新数据。


9、MySQL DELETE 语句

1、通用语法

-- DELETE FROM table_name [WHERE Clause]
DELETE FROM `user` WHERE name = '李子捌';
复制
  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。

  • 可以在 WHERE 子句中指定任何条件


10、MySQL LIKE 子句

1、通用语法

-- SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'

SELECT name, age, email FROM `user` WHERE name LIKE '%捌';

-- 百分号可在左边、右边、两边
-- '%捌'     '捌%'       '%捌%'
-- 以捌结尾   以捌开头     包含捌
复制

学习资料链接:

https://www.mysql.com/

https://www.runoob.com/mysql/mysql-tutorial.html


文章转载自李子捌,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论