学习MySQL有助于掌握数据库管理和操作技能,提高数据处理能力,对于数据分析、软件开发等领域至关重要。因此可以说作为计算机学生基本上离不开Mysql,我们就以例子的来讲解一下Mysql最常用最基本的创建,增加,删除,修改和查询五个操作。
一. 创建数据表
在创建表之前,我们先了解几个常用的数据类型
整数类型:
定点数类型:
字符串型:
创建数据表语法:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名(
字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ],
字段2 字段2类型 [字段属性] [COMMENT 字段2注释 ],
字段3 字段3类型 [字段属性] [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [表属性] [ COMMENT 表注释 ] ;
CREATE [TEMPORARY] TABLE:指定创建一个表,可以选择性地创建一个临时表,临时表在会话结束时自动删除。
[IF NOT EXISTS]:如果表不存在,则创建表,这是一个可选的条件,用来避免在表已存在时执行创建操作导致的错误。
表名:您要创建的表的名称。
字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ]:定义表的第一个字段,包括字段名、数据类型、可选的字段属性(如主键、默认值等)和字段注释。
[表属性]:可选的部分,用来定义表级别的属性,比如存储引擎、字符集等。
约束条件 说明
PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的记录
FOREIGN KEY 标识该属性为该表的外键,与某表的主键关联
NOT NULL 标识该属性不能为空
UNIQUE 标识该属性的值是唯一的
AUTO_INCREMENT 标识该属性的值自动增加
DEFAULT 为该属性设置默认值
user表实例:创建user表,user表有4个字段index、user_id、user_name、password
(我们接下来都用这个例子)
CREATE TABLE IF NOT EXISTS `user` (
`index` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` VARCHAR(255) NOT NULL,
`user_name` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL
) COMMENT='用户信息表';
二.增加Insert
基本语法格式:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
继续拿user表实例举例子:
1. 插入单行数据
INSERT INTO `user` (`user_id`, `user_name`, `password`) VALUES
('uid1', 'Tom1', 'hashed_password');
在这个例子中,我们手动指定了index字段的值。由于index我们设定是自增的,所以不需要手动插入这个值,数据库会自动为新行生成一个唯一的index值。因此,根据创建表的约束条件我们省略可以index字段
2. 插入多行数据
INSERT INTO `user` (`user_id`, `user_name`, `password`) VALUES
('uid2', 'Tom2', 'hashed_password2'),
('uid3', 'Tom3', 'hashed_password3');
将两行数据插入到 user 表中,每行数据都包含 user_id、user_name 和 password 的值,而 index 列的值将由 MySQL 自动生成。
三.删除delete
基本语法:
delete from 表名 where 列=值
继续拿user表实例举例子:
1. 根据主键删除:
DELETE FROM user
WHERE index = 1;
DELETE FROM user:指定要从 user 表中删除数据。
WHERE index = 1:指定删除条件,这里是删除 index 值为 1 的记录。
2. 根据条件删除:
DELETE FROM user
WHERE user_name = 'Tom';
WHERE user_name = ‘Tom’:指定删除条件,这里是删除 user_name 值为 "Tom" 的所有记录。
3. 删除所有表数据:
DELETE FROM user;
4. 删除表:
DROP TABLE 表名;
四. 修改update
基本语法 :
update 表名 set 列=值,列=值,.... where...
继续拿user表实例举例子:
1. 修改单个字段的值(修改特定用户的用户名)
UPDATE user
SET user_name = 'Tom'
WHERE user_id = 'uid1';
UPDATE user:指定要更新的表名为 user。
SET user_name = 'Tom':指定要更新的列和新值。
WHERE user_id = 'uid1':指定更新条件,这里是更新 user_id 值为 'uid1' 的记录的 user_name。
2. 修改多个字段的值(同时更新用户名和密码)
UPDATE user
SET user_name = 'Tom', password = 'new_hashed_password1'
WHERE user_id = 'uid1';
SET user_name = 'NewUserName', password = 'new_hashed_password':指定要更新的多个列和对应的新值。
3. 修改多个记录(修改所有用户的密码)
UPDATE user
SET password = 'default_password';
4. 复杂条件进行修改(更新所有用户名为 "Tom" 的用户的密码)
UPDATE user
SET password = 'new_hashed_password'
WHERE user_name = 'Tom1';
WHERE user_name = 'Tom1':指定更新条件,这里是更新 user_name 值为 "Tom1" 的记录的 password。
五.查看select
基本语法:
select ...
from 表名...
Where ...
继续拿user表实例举例子:
- 查询所有记录
SELECT *
FROM user;
SELECT *:*代表代表所有列。
FROM user:指定从 user 表中选择数据。
1. 指定查询
①查询user_name 和 password列
SELECT user_name, password
FROM user;
SELECT user_name, password:指定选择 user_name 和 password 列。
②查询user_id 为 'uid1' 的用户信息
SELECT *
FROM user
WHERE user_id = 'uid1';
2. 查询并排序结果
SELECT *
FROM user
ORDER BY user_name ASC;
ORDER BY user_name ASC:指定按照 user_name 列升序排序结果。
3. 分页查询(查询3-6页的数据)
SELECT *
FROM user
LIMIT 3
OFFSET 2;
LIMIT 3:指定返回的结果数量限制为 3 条。
OFFSET 2:指定跳过前 2 条记录,即从第 3 条记录开始返回。
4. 模糊查询
SELECT *
FROM user
WHERE user_name LIKE '%T%';
LIKE '%T%':指定模糊匹配条件,% 表示任意数量的字符,这里是匹配 user_name 中包含 "T" 的记录,例如查出包含“T”字符的用户名“Tom”。
5. 聚合查询(查找表中用户总数)
SELECT COUNT(*)
FROM user;
COUNT(*):计算表中的记录总数。
6. 条件组合查询(询用户名为 "Tom1" 且 user_id 为 'uid1' 的用户信息)
SELECT *
FROM user
WHERE user_name = 'Tom1' AND user_id = 'uid1';
AND:组合多个查询条件,只有同时满足所有条件的记录才会被选中。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/15459.html