iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL基础笔记
  • 858
分享到

MySQL基础笔记

MySQL基础笔记 2022-04-07 20:04:48 858人浏览 绘本
摘要

创建数据库 CREATE DATABASE database_name; create database Mysql_test; 删除数据库 DROP DATABASE database_name; > drop

MySQL基础笔记

创建数据库

CREATE DATABASE database_name;

create database Mysql_test;

删除数据库

DROP DATABASE database_name;

> drop database mysql_test;

数据类型

完整数据类型请参考Mysql 数据类型。
MySQL支持所有标准SQL数值数据类型,所以数据类型有很多,这里介绍几个常用的
数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
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的值 小数值

日期类型

类型 大小( bytes) 范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值

字符串类型

类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TEXT 0-65 535 bytes 长文本数据

总体来说整数用int,小数根据精度选择float,double和decimal,日期用date,字符串用varchar。
然后再说一下字符串类型的区别, CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。所以经常变化的字段用 varchar, 知道固定长度的用 char。尽量用 varchar,超过 255 字符的只能用 varchar 或者 text,能用 varchar 的地方尽量不用 text。

创建数据表

CREATE TABLE table_name (column_name column_type);

UNSIGNED 无符号,即非负
AUTO_INCREMENT 自增
NOT NULL 非空
PRIMARY KEY 主键

CREATE table student(
id int PRIMARY KEY auto_increment,
name VARCHAR(20) not null,
address VARCHAR(20) not null)
;

删除数据表

DROP TABLE table_name ;

插入数据

INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );

INSERT into student (name,address) VALUES ("张三","北京");

查询数据

SELECT column_name,column_name FROM table_name [WHERE Clause]

SELECT id,name,address FROM student;

UPDATE更新

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

UPDATE student set address = "长沙" WHERE `name` = "李四";

DELETE语句

DELETE FROM table_name [WHERE Clause]

如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。

WHERE子句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

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

查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。

  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

LIKE子句

SQL LIKE 子句中使用百分号 %字符来表示任意字符,如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

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

你可以在 WHERE 子句中指定任何条件。
你可以在 WHERE 子句中使用LIKE子句。
你可以使用LIKE子句代替等号 =。
LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
你可以使用 AND 或者 OR 指定一个或多个条件。
你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。

SELECT id,name,address FROM student WHERE address LIKE "%京";

UNION

UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

expression1, expression2, ... expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。

CREATE table teacher(
id int PRIMARY key auto_increment,
name VARCHAR(20) not null,
address VARCHAR(20) not null);

创建老师表并插入数据

SELECT address FROM student UNION SELECT address FROM teacher;

排序

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
你可以设定多个字段来排序。
你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
你可以添加 WHERE...LIKE 子句来设置条件。

SELECT * FROM student ORDER BY address;

分组

GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

插入更多数据,并统计各个地址的人数

SELECT address,COUNT(address) as "人数" FROM student GROUP BY address;

连接的使用

你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。
JOIN 按照功能大致分为如下三类:
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

内连接

新建一个分数表,链接两个表打印成绩和住址

SELECT student.id,student.`name`,student.address,score.score FROM student JOIN score on student.id = score.id;

左连接

SELECT student.id,student.`name`,student.address,score.score FROM student left JOIN score on student.id = score.id;

右连接

SELECT student.id,student.`name`,student.address,score.score FROM student RIGHT JOIN score on student.id = score.id;

ALTER命令

删除,添加或修改表字段

如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:

ALTER TABLE testalter_tbl DROP i;

如果数据表中只剩余一个字段则无法使用DROP来删除字段。
MySQL 中使用 ADD 子句来向数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型:

ALTER TABLE testalter_tbl ADD i INT;

执行以上命令后,i 字段会自动添加到数据表字段的末尾。
如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。

修改字段类型及名称

如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
例如,把字段 c 的类型从 CHAR(1) 改为 CHAR(10),可以执行以下命令:

ALTER TABLE testalter_tbl MODIFY c CHAR(10);

使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。尝试如下实例:

ALTER TABLE testalter_tbl CHANGE i j BIGINT;
ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE 对 Null 值和默认值的影响

当你修改字段时,你可以指定是否包含值或者是否设置默认值。
以下实例,指定字段 j 为 NOT NULL 且默认值为100 。

ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;

如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。

修改表名

如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。
尝试以下实例将数据表 testalter_tbl 重命名为 alter_tbl:

ALTER TABLE testalter_tbl RENAME TO alter_tbl;

MySQL函数

完整MySQL函数请参考MySQL函数

您可能感兴趣的文档:

--结束END--

本文标题: MySQL基础笔记

本文链接: https://www.lsjlt.com/news/7005.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql学习笔记之基础测试
    10. 基础测试 10.1...
    99+
    2024-04-02
  • Python基础笔记3
    1.Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/3/libra...
    99+
    2023-01-31
    基础 笔记 Python
  • [PYTHON]python 基础笔记(
    10. 编写一个Python脚本问题我提出的问题是: 我想要一个可以为我的所有重要文件创建备份的程序。尽管这是一个简单的问题,但是问题本身并没有给我们足够的信息来解决它。进一步的分析是必需的。例如,我们如何确定该备份哪些文件?备份保存在哪里...
    99+
    2023-01-31
    基础 笔记 PYTHON
  • python基础知识笔记
    参考视频和资料:2022新版黑马程序员python教程,8天python从入门到精通,学python看这套就够了_哔哩哔哩_bilibili 最后有知识的思维导图!  Python入门学习 Day1 解释器:pycharm 一、Pychar...
    99+
    2023-08-31
    pycharm ide python
  • python学习笔记01-基础
    数据类型:(1)整数(2)浮点数整数和浮点数在计算机内部存储的方式是不同的(3)字符串字符\本身也要转义,所以\表示的字符就是\Python还允许用r''表示''内部的字符串默认不转义(4)布尔值在Python中,可以直接用True、F...
    99+
    2023-01-31
    学习笔记 基础 python
  • Python学习基础笔记(全)
    换博客了,还是csdn好一些。 Python学习基础笔记 1.Python学习—linux下Python3的安装 2.Python学习—数据类型、运算符、条件语句 3.Python学习—循环语句 4.Python学习—字符串 5.Pyt...
    99+
    2023-01-31
    基础 笔记 Python
  • Python基础入门笔记(一)
    前言(认识Python) 既然学习 Python,那么至少得了解下这门语言,知道 Python 代码执行过程吧。Python 的历史有兴趣的百度百科下就有,这个不多说了。 1、我们先来了解下什么是解释型语言和编译型语言? 计算机...
    99+
    2023-01-31
    入门 基础 笔记
  • python基础概念学习笔记
    本次整理python数据类型为:列表list字典dict元组tuple集合set其中涉及概念:模组module类class对象object——————————————————————————————————————————数据类型type ...
    99+
    2023-01-31
    学习笔记 概念 基础
  • 《Python网络编程基础》笔记
                              python网络编程基础                           ================== Author: lujun9972 <luj...
    99+
    2023-01-31
    网络编程 基础 笔记
  • CSS基础之层叠样式笔记
    层叠声明冲突:同一个样式,多次应用到同一个元素层叠:解决声明冲突的过程,浏览器自动处理(权重计算)1. 比较重要性重要性从高到底:作者样式表:开发者书写的样式1) 作者样式表中的!important样式2) 作者样式表中的普通样式3) 浏览...
    99+
    2023-06-03
  • Web安全入门基础知识(笔记)
    目录 0x01 基础名词 一、域名 1.什么是域名 2.域名在那里注册 3.什么是二级域名,多级域名,顶级域名 4.域名发现对于安全测试的意义 二、DNS 1.什么是DNS 2.本地host和DNS的关系 3.CDN是什么,和D...
    99+
    2023-09-16
    web安全 服务器 网络
  • Python基础入门视频课程——笔记
    视频课程链接:http://edu.51cto.com/course/14859.html 一、Python简介 1. Python是什么? ​ Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Ros...
    99+
    2023-01-31
    入门 课程 基础
  • PHP的学习笔记 (php的基础语法)
    目录 一、PHP基础语法 01.基础语法     1.标记与注释     2.输出语句     3.PHP标识符     4.PHP关键字 02.数据与运算     1.常量     2.变量     3.表达式     4.数据类型及转...
    99+
    2023-08-31
    php 前端
  • java基础详细笔记之异常处理
    目录异常概述常见异常的举例  空指针异常NullPointerException数组角标越界异常ArrayIndexOutOfBoundsException &n...
    99+
    2024-04-02
  • PHP学习笔记:面向对象编程基础
    导言:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程的思维方式,通过将问题分解为多个对象并定义对象之间的交互,来解决复杂的编程问题。PHP作为一门功能强大的编程语言,也支持面向对象编程。本文将介...
    99+
    2023-10-21
    PHP 基础 面向对象编程(OOP)
  • 【MongoDB学习笔记14】MongoDB的查询:find基础
    MongoDB中使用find来进行查询,返回一个集合中的文档的子集;返回文档集合blog中的所有文档:> db.post.find()    { "_...
    99+
    2024-04-02
  • Python基础笔记之struct和格式化字符
    目录简介struct中的方法格式字符串字节顺序,大小和对齐方式格式字符格式数字格式字符格式字符串填充的影响复杂应用总结简介 文件的存储内容有两种方式,一种是二进制,一种是文本的形式。...
    99+
    2024-04-02
  • 韩顺平 2021零基础学Java 学习笔记
    韩顺平 2021零基础学Java 学习笔记(1)(自用)_丨shallow丨的博客-CSDN博客_韩顺平java笔记 韩顺平 2021零基础学Java 学习笔记(2)(自用)_丨shallow丨的博客-CSDN博客  韩顺平 2021零基础...
    99+
    2023-10-01
    学习
  • PHP学习笔记:基础语法及变量定义
    在如今的互联网时代,PHP(Hypertext Preprocessor)作为一种广泛使用的服务器脚本语言,被越来越多的开发者所青睐。本篇文章将为大家介绍PHP的基础语法和变量的定义,并提供具体的代码示例,帮助初学者更好地理解和掌握。一、P...
    99+
    2023-10-21
    学习 PHP 基础
  • 学习笔记:Java 打包对象的基础知识
    Java 打包对象是一项重要的基础知识,也是 Java 开发中必须掌握的技能。本文将介绍 Java 打包对象的基础知识,包括打包对象的定义、打包对象的用途、打包对象的实现方法和注意事项等方面,同时还将提供一些演示代码,以帮助读者更好地理解和...
    99+
    2023-10-03
    打包 对象 学习笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作