文章目录
1. MySQL命令
2. MySQL基础命令
- 默认端口号:3306
- 查看服务器版本:select version(); 或者 cmd命令 mysql –verison
- 登录数据库:mysql -uroot –p
- 退出数据库:exit/quit
- 查看当前系统下的数据库:show databases;
- 创建数据库:create 库名;
- 使用数据库:use 库名;
- 查看表:show tables;
- 建表:create table 表名 (字段名 + 空格 + 数据类型);
- 查看表结构:desc 表名;
- 添加值:insert into 表名 (列名) values (值);
- 查看表中所有数据:select * from 表名;
- 查询建表时的结构:show create table 表名;
- 删除字段中的值:delete from 表名 where 条件;
- 删除表中的字段:delete from 表名 drop column 字段名; 或alter table 表名 drop 字段名
- 删除表:drop table 表名;
- 删除库:drop database 库名;
- 主键约束:primary key
- 唯一约束:unique
- 非空约束:not null
- 默认约束:default
- 外键约束:foreign key(外键)references主表(主键)
- 查看别的数据库的表格:show tables from 表名;
3. MySQL命令简介
- MySQL命令是用于与MySQL数据库进行交互和操作的命令。
以下是一些常用的MySQL命令:
- mysql:连接MySQL数据库的命令,需要指定用户名和密码。
- use:使用某个数据库。
- show databases:显示所有数据库。
- create database:创建新的数据库。
- drop database:删除数据库。
- create table:创建新的表。
- alter table:修改表结构。
- drop table:删除表。
- insert into:向表中插入新的记录。
- delete from:删除表中符合条件的记录。
- update:更新表中符合条件的记录。
- select:查询表中的记录。
- where:对查询的记录进行条件筛选。
- order by:对查询的记录进行排序。
- group by:对查询的记录进行分组。
- having:对分组后的记录进行筛选。
- set names:设置字符集编码。
这些命令只是MySQL命令的一部分,还有更多的命令可以用于管理和操作MySQL数据库。
4. MySQL常用命令
4.1 MySQL准备篇
4.1.1 启动和停止MySQL服务
net start mysql // 启动mysql服务
net stop mysql // 停止mysql服务
4.1.2 修改MySQL账户密码
mysql -u root -p123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
4.1.3 MySQL的登陆和退出
mysql -uroot -p123456
- MySQL登出
exit
quit
二选一
4.1.4 查看MySQL版本
SELECT VERSION();
4.2 DDL篇(数据定义)
4.2.1 查询数据库
- 查询所有的数据库
SHOW DATABASES;
4.2.2 创建数据库
- 创建数据库:
CREATE DATABASE 数据库名称;
CREATE DATABASE IF NOT EXISTS 数据库名称;
4.2.3 使用数据库
- 使用数据库
USE 数据库名称;
SELECT DATABASE();
4.2.4 删除数据库
- 删除数据库
DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名称;
4.2.5 查询表
- 查询当前数据库下所有表名称
SHOW TABLES;
- 查询表结构
DESC 表名称;
4.2.6 创建表
- 创建表
CREATE TABLE 表名 (
字段名1 数据类型1,
字段名2 数据类型2,
…
字段名n 数据类型n
);
create table tb_user (
id int,
username varchar(20),
password varchar(32)
);
4.2.7 修改表
- 修改表名
ALTER TABLE 表名 RENAME TO 新的表名;
-- 将表名student修改为stu
alter table student rename to stu;
- 添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
-- 给stu表添加一列address,该字段类型是varchar(50)
alter table stu add address varchar(50);
- 修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;
-- 将stu表中的address字段的类型改为 char(50)
alter table stu modify address char(50);
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
-- 将stu表中的address字段名改为 addr,类型改为varchar(50)
alter table stu change address addr varchar(50);
- 删除列
ALTER TABLE 表名 DROP 列名;
-- 将stu表中的addr字段 删除
alter table stu drop addr;
4.2.8 删除表
- 删除表
DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;
4.2.9 查看数据表结构
desc [表名];
4.2.10 查看建表语句
SHOW CREATE TABLE [表名]
4.2.11 增加、删除和修改字段自增长
(1)增加自增长字段
ALTER TABLE table_name ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
(2)修改自增长字段
ALTER TABLE table_name CHANGE column_name new_column_name INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
table_name
代表包含自增长字段的表名,column_name
代表原始自增长字段名,new_column_name
代表新的自增长字段名。请注意,将数据类型更改为INT,否则无法使该列成为自增长主键。完成后,您需要重新启动表格才能使修改生效。
(3)删除自增长字段
ALTER TABLE table_name MODIFY column_name datatype;
注意:
table_name
代表要删除自增长字段的表名,column_name
代表要删除的自增长字段名,datatype
代表要设置的数据类型。
4.2.12 增加、删除和修改数据表的列
(1)增加数据表的列
ALTER TABLE <表名> ADD COLUMN <列名> <数据类型>;
ALTER TABLE student ADD COLUMN age INT;
(2)删除数据表的列
ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE student DROP COLUMN age;
上面的命令会从
student
表中删除名为age
的列。
(3)修改数据表的列
ALTER TABLE <表名> MODIFY COLUMN <列名> <数据类型>;
ALTER TABLE student MODIFY COLUMN age VARCHAR(10);
上面的命令会将
student
表中的age
列的数据类型修改为VARCHAR(10)
。
4.2.13 添加、删除和查看索引
(1)添加索引:
ALTER TABLE table_name ADD INDEX index_name (column_name);
其中,table_name是表的名称,index_name是索引的名称,
column_name是要添加索引的列的名称。
ALTER TABLE users ADD INDEX idx_email (email);
(2)删除索引:
- 要删除表中的索引,可以使用以下命令:
ALTER TABLE table_name DROP INDEX index_name;
其中,table_name是表的名称,index_name是要删除的索引的名称。
ALTER TABLE users DROP INDEX idx_email;
(3)查看索引:
SHOW INDEX FROM table_name;
其中,table_name是表的名称。该命令将返回包含索引信息的结果集。
SHOW INDEX FROM users;
4.2.14 创建临时表
CREATE TEMPORARY TABLE temp_table_name (
column1 datatype,
column2 datatype,
...
);
其中,temp_table_name是您要创建的临时表的名称。您可以指定表的列和数据类型,就像创建常规表一样。
CREATE TEMPORARY TABLE temp_users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
上述命令将创建一个名为temp_users的临时表,其中包含id、name和email列。id列是主键。
4.2.15 创建内存表
CREATE TABLE mem_table_name (
column1 datatype,
column2 datatype,
...
) ENGINE=MEMORY;
其中,mem_table_name是您要创建的内存表的名称。您可以指定表的列和数据类型,就像创建常规表一样。通过将ENGINE选项设置为MEMORY,该表将被创建为内存表。
CREATE TABLE mem_users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
) ENGINE=MEMORY;
上述命令将创建一个名为mem_users的内存表,其中包含id、name和email列。id列是主键。
4.2.16 查看数据库数据表存储位置
要查看MySQL数据库中数据表的存储位置,您可以执行以下步骤:
- 连接到MySQL服务器,可以使用以下命令:
mysql -u username -p
其中,username是您的MySQL用户名。系统将提示您输入密码。
USE database_name;
其中,database_name是您要查看存储位置的数据库的名称。
SHOW TABLE STATUS;
该命令将返回包含有关数据库中所有数据表的信息的结果集。其中,可以关注File列,它将显示数据表的存储位置。
SHOW TABLE STATUS LIKE 'table_name';
4.2.17 清空表内容
- 要清空MySQL表的内容,可以使用以下命令:
TRUNCATE TABLE table_name;
其中,table_name是要清空内容的表的名称。
该命令将删除表中的所有数据,但保留表的结构。换句话说,它将删除表中的所有行,但保留表的主键、索引和其他属性。
4.3 DML篇(数据操作)
4.3.1 数据增加
- 增加操作:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
例如,要在名为users的表中添加一条记录,可以执行以下命令:
INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john@example.com');
4.3.2 数据删除
- 删除操作:
DELETE FROM table_name WHERE condition;
例如,要删除名为users表中id为1的记录,可以执行以下命令:
DELETE FROM users WHERE id = 1;
4.3.3 数据修改
- 修改操作:
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
例如,要修改名为users表中name为’John Doe’的记录的email,可以执行以下命令:
UPDATE users SET email = 'newemail@example.com' WHERE name = 'John Doe';
4.4 DQL篇(数据查询)
4.4.1 检索所有数据
SELECT * FROM table_name;
这个命令将返回表中的所有记录。
4.4.2 指定要检索的列
SELECT column1, column2 FROM table_name;
这个命令将返回指定的列,例如column1和column2。
4.4.3 使用WHERE子句来指定条件
SELECT * FROM table_name WHERE condition;
这个命令将返回满足指定条件的所有记录。例如,SELECT * FROM users WHERE age > 18 将返回年龄大于 18 的所有用户记录。
4.4.4 使用聚合函数来计算统计数据
SELECT COUNT(*) FROM table_name;
这个命令将返回表中的记录数。还可以使用其他聚合函数,如SUM、AVG、MAX和MIN等。
4.4.5 使用GROUP BY来分组数据
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
4.4.6 使用ORDER BY来排序数据
SELECT * FROM table_name ORDER BY column1;
这个命令将按column1的升序排序所有记录。还可以使用DESC关键字来按降序排序。#### 4.4.7 使用LIMIT来限制返回的记录数
SELECT * FROM table_name LIMIT 10;
这个命令将返回表中的前10条记录。还可以使用OFFSET关键字来指定从哪一行开始返回记录。
4.5 DCL篇(数据控制)
4.5.1 GRANT命令:授予访问权限
GRANT 权限列表 ON 对象类型 对象名称 TO 用户名@用户地址 IDENTIFIED BY用户口令;
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'password';
4.5.2 REVOKE命令:撤销访问权限
REVOKE 权限列表 ON 对象类型 对象名称 FROM 用户名@用户地址;
例如,撤销用户test对所有数据库的访问权限:
REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'localhost';
4.5.3 SET PASSWORD命令:修改用户口令
SET PASSWORD FOR 用户名@用户地址 = SET PASSWORD BY PASSWORD ('新口令');
SET PASSWORD FOR 'test'@'localhost'=SET PASSWORD BY PASSWORD ('newpassword');
4.5.4 FLUSH命令:刷新权限
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
原文地址:https://blog.csdn.net/weixin_61370021/article/details/130797638
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_16493.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!