MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,后来被Sun Microsystems收购,最终成为Oracle Corporation的一部分。MySQL是一个基于客户端-服务器模型的数据库,支持多种操作系统,包括Linux、Windows和macOS。MySQL是一个功能强大、灵活且易于使用的数据库系统,适用于各种规模的应用程序。通过学习和使用MySQL,可以有效地管理和操作关系型数据。
使用MySQL时,主要通过SQL(Structured Query Language)进行数据库操作,包括:
创建数据库:CREATE DATABASE database_name;
选择数据库:USE database_name;
删除数据库:DROP database database_name;
显示数据库列表:SHOW databases;
显示数据库中的表: show tables;
显示指定数据库中的表: show tables from database_name;
显示表的描述:describe tale_name;
创建表:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
删除表:dorp table table_name;
修改表名称:alter table table_name rename to new_talbe_name; rename table table_name to new_table_name;
为表添加一个字段:alter table table_name add name_name varchar(25) not null;
修改字段的定义:alter table table_name change name_name new_name_name int(30);
删除表的字段:alter table table_name drop name_name;
在MySQL中,数据类型定义了列中可以存储的数据的类型和范围。正确选择数据类型对于确保数据的完整性和优化性能至关重要。以下是一些常用的MySQL数据类型;
- 整数类型:
- :-128 到 127(有符号),0 到 255(无符号)
- :-32768 到 32767(有符号),0 到 65535(无符号)
- :- 到 (有符号),0 到 (无符号)
- 或 :- 到 (有符号),0 到 (无符号)
- :- 到 (有符号),0 到 (无符号)
- 定点数类型:
- 或 :可以指定精度(数值的总位数)和小数位数。
- 浮点数类型:
- :单精度浮点数。
- :双精度浮点数。
- 位类型:
- :可以存储二进制值。
- :的同义词。
- 日期和时间类型:
- :格式为。
- :格式为。
- :格式为。
- :与类似,但会根据时区调整。
- 年月类型:
- :格式为。
- 字符类型:
- :固定长度的字符串,长度在1到255个字符之间。
- :可变长度的字符串,长度在1到65,535个字符之间。
- 二进制字符串类型:
- :固定长度的二进制字符串。
- :可变长度的二进制字符串。
- :二进制大对象,用于存储大量二进制数据。
- :文本字符串类型,用于存储大量字符数据。
- 枚举类型:
- :允许从预定义的值列表中选择一个值。
- 集合类型:
- :允许从预定义的值列表中选择多个值。
- :用于存储JSON数据。
- :类似于,但自动增长。
示例
在这个例子中,表有五个字段,分别使用了不同的数据类型:整数、可变长度字符串、日期、时间戳和JSON,AUTO_INCREMENT自增;
选择正确的数据类型对于数据库设计至关重要,它可以帮助确保数据的准确性,优化存储空间的使用,并提高查询性能。在设计数据库时,应根据数据的特性和应用需求仔细选择数据类型。
在MySQL中,运算符用于执行各种操作,如数学计算、比较、逻辑判断等。以下是MySQL中一些常用的运算符:
- 加法:
- 减法:
- 乘法:
- 除法:
- 求模(取余):
- 等于:
- 不等于: 或
- 大于:
- 小于:
- 大于等于:
- 小于等于:
- 逻辑非:
- 逻辑与:
- 逻辑或:
- 按位与:
- 按位或:
- 按位异或:
- 按位非:
- 左移:
- 右移:
- 连接:
- 匹配: 或
- 不匹配: 或
- 同列比较:、、、、、
- IN:检查某个值是否在指定的列表中。
- IS NULL:检查某个值是否为NULL。
- IS NOT NULL:检查某个值是否不为NULL。
- BETWEEN:检查某个值是否在两个值之间。
- LIKE:用于搜索列中的指定模式。
- NOT LIKE:用于搜索列中不匹配指定模式的值。
示例
在这个例子中,我们使用了比较运算符(、、)和字符串运算符()来查询年龄在18到60岁之间,用户名以’A’开头,且状态为’active’的用户。
运算符是MySQL查询语言的基础,它们使得数据检索和操作变得灵活和强大。正确使用运算符可以编写出高效且精确的SQL查询。
在MySQL中,增删改查(CRUD)操作是数据库管理的基本操作,它们分别代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据。以下是这些操作的基本SQL语句:
创建数据通常是指向数据库表中插入新记录。使用语句来实现:
如果插入所有列并且所有列都有默认值,可以省略列名:
进阶插入
读取数据是指从数据库表中查询数据。使用语句来实现:
如果没有指定列名,将选择所有列:
更新数据是指修改数据库表中的现有记录。使用语句来实现:
删除数据是指从数据库表中移除记录。使用语句来实现:
如果没有指定条件,将删除表中的所有记录,这是非常危险的操作,通常不推荐使用。
示例
假设有一个名为的表,包含、和三个列。
创建(插入)数据
读取(查询)数据
更新数据
删除数据
注意事项
- 在执行增删改操作时,应该始终注意数据的完整性和一致性。
- 使用子句可以指定条件,以确保只影响满足条件的记录。
- 在执行删除操作时应该特别小心,以免意外删除重要数据。
- 在更新或删除数据之前,建议先进行查询操作,确认将要操作的记录是正确的。
MySQL提供了大量的内置函数,用于执行各种操作,如数学计算、字符串处理、日期和时间处理等。这些函数可以在SQL查询中使用,以便于数据处理和分析。以下是一些常用的MySQL函数:
- :返回x的绝对值。
- 或:返回大于或等于x的最小整数。
- :返回小于或等于x的最大整数。
- :返回a除以b的余数。
- 或:返回x的y次幂。
- :返回x四舍五入到y小数位的值。
- :返回x的平方根。
- :返回连接字符串的结果。
- 或:返回字符串的长度。
- :返回从start位置开始,长度为length的字符串。
- :返回替换字符串中search子串为replace后的结果。
- :返回字符串的大写形式。
- :返回字符串的小写形式。
- :返回去除字符串首尾空格后的结果。
- :返回去除字符串左侧空格后的结果。
- :返回去除字符串右侧空格后的结果。
- :返回当前日期。
- :返回当前时间。
- :返回当前日期和时间。
- :给定日期加上一个时间间隔。
- :给定日期减去一个时间间隔。
- :返回格式化的日期。
- :返回格式化的时间。
- :如果条件为真,返回true_value,否则返回false_value。
- :类似于SQL的CASE表达式。
- :返回表达式中非NULL值的数量。
- :返回表达式中所有值的总和。
- :返回表达式中所有值的平均值。
- :返回表达式中的最大值。
- :返回表达式中的最小值。
- :返回字符串的MD5哈希值。
- :返回字符串的SHA1哈希值。
- password(str):返回字符串的加密串。 不可逆,区分大小写。
- encrypt(str,key):带KEY的加密串。不可逆。
- encode(str,key),decode(str,key):可逆的加密算法。加密程度不高。
- aes_encrypt(str,key),aes_decrypt(str,key):可逆的加密算法。加密程度高。
示例
在这个例子中,我们使用了来连接名字和姓氏,来计算带奖金的工资,以及来格式化入职日期。
MySQL的控制流函数允许在SQL查询中实现条件逻辑和循环逻辑。这些函数主要用于复杂的查询和数据操作,它们可以控制数据的处理流程。以下是一些常用的MySQL控制流函数:
- :用于将多条语句组合成一个代码块。
- :用于在存储过程和函数中实现条件逻辑。
- :用于在存储过程和函数中实现循环逻辑。
- :用于在存储过程和函数中实现循环逻辑。
- :用于在存储过程和函数中实现循环逻辑,直到满足特定条件。
- :用于立即退出循环。
- :用于继续下一次循环迭代。
示例:使用存储过程和控制流语句
MySQL提供了多种格式化函数,用于将数据转换成特定的格式。这些函数在处理日期、时间、数字和字符串时非常有用。以下是一些常用的MySQL格式化函数:
5.8.1 日期和时间格式化函数
- DATE_FORMAT(date, format):返回格式化的日期。
- TIME_FORMAT(time, format):返回格式化的时间。
- FROM_UNIXTIME(unix_timestamp, format):将UNIX时间戳转换为格式化的日期和时间。
5.8.2 数字格式化函数
- FORMAT(x, d):将数字x格式化为带有d位小数的字符串。
- ROUND(x, d):将数字x四舍五入到d位小数。
5.8.3.字符串格式化函数
- CONCAT(str1, str2, …):连接字符串。
- CONCAT_WS(separator, str1, str2, …):使用指定的分隔符连接字符串。
- REPLACE(str, search_str, replace_str):在字符串中替换子串。
- SUBSTRING(str, position, length):返回字符串的子串。
- TRIM(str):去除字符串两端的空格。
- LPAD(str, length, pad_str):用另一个字符串填充当前字符串,使其达到指定的长度。
- RPAD(str, length, pad_str):同LPAD,但是填充在字符串的右侧。
- LTRIM(str):去除字符串左侧的空格。
- RTRIM(str):去除字符串右侧的空格。
这些格式化函数可以帮助你在查询和数据处理时,将数据转换成所需的格式。通过使用这些函数,可以提高数据的可读性和易用性。
在MySQL中,类型转换函数用于将一种数据类型转换为另一种数据类型。这些函数在处理数据时非常有用,尤其是在数据类型不匹配或需要特定格式时。以下是一些常用的MySQL类型转换函数:
5.9. 1. CAST() 函数
函数用于将一个表达式转换为指定的数据类型。
- 将字符串转换为整数:
- 将整数转换为日期:
- 将日期转换为字符串:
5.9. 2. CONVERT() 函数
函数与类似,也用于数据类型转换,但提供了更多的灵活性,特别是在转换为字符串时。
- 将日期转换为字符串:
- 将字符串转换为浮点数:
5.9. 3. 类型特定转换函数
MySQL还提供了一些专门用于特定类型转换的函数:
- INT():将一个值转换为整数。
- FLOAT():将一个值转换为浮点数。
- DOUBLE():将一个值转换为双精度浮点数。
- DECIMAL():将一个值转换为定点数。
- CHAR():将一个值转换为字符。
- DATE():将一个值转换为日期。
- TIME():将一个值转换为时间。
- DATETIME():将一个值转换为日期和时间。
- TIMESTAMP():将一个值转换为时间戳。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/82485.html