网站开发 技术难点,wordpress 轮播广告,南昌哪里做网站比较好,电子商务网站对比分析数据库运维常识 DQL、DML、DCL 和 DDL 是 SQL#xff08;结构化查询语言#xff09;中的四个重要类别#xff0c;它们分别用于不同类型的数据库操作#xff0c;下面为你简单明了地解释这四类语句#xff1a;
1. DQL#xff08;数据查询语言#xff0c;Data Query Langu… 数据库运维常识 DQL、DML、DCL 和 DDL 是 SQL结构化查询语言中的四个重要类别它们分别用于不同类型的数据库操作下面为你简单明了地解释这四类语句
1. DQL数据查询语言Data Query Language
定义主要用于从数据库中查询数据不涉及对数据的修改、插入或删除操作。常用命令SELECT 是 DQL 中最核心的命令用于指定查询的字段、表以及查询条件等。示例从 employees 表中查询所有员工的姓名和薪水
SELECT name, salary FROM employees;1.创建数据库支持中文编码 大小写不敏感(完美且严谨)
CREATE DATABASE IF NOT EXISTS users2 DEFAULT CHARSET UTF8 COLLATE utf8_general_ci;案例:
MariaDB [(none)] SHOW CREATE DATABASE users2; ±---------±---------------------------------------------------------------------------------------- | Database | Create Database | ±---------±---------------------------------------------------------------------------------------- | users2 | CREATE DATABASE users2 /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci */ | ±---------±---------------------------------------------------------------------------------------- 1 row in set (0.000 sec)
MariaDB [(none)] show create database users; ±---------±------------------------------------------------------------------------------------------- | Database | Create Database | ±---------±------------------------------------------------------------------------------------------- | users | CREATE DATABASE users /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */ | ±---------±-------------------------------------------------------------------------------------------
2.查询我当前在那个数据库中:
select databases();3.查看数据表结构
desc 数据表名;4.查看表中所有信息:
select * from 表名指定查询 (比如查询: user host password)2. DML数据操作语言Data Manipulation Language
定义用于对数据库中的数据进行增、删、改操作。常用命令 INSERT用于向数据库表中插入新的数据记录。UPDATE用于修改数据库表中已有的数据记录。DELETE用于从数据库表中删除指定的数据记录。\
1.删除一些无用的用户数据
语法: delelte from 数据库.数据表 where 条件;delete from mysql.user where userxxw and host192.168.153.*; //删除mysql数据库下user表 user等于xxw 并且 host192.168.153.*的用户数据3. DCL数据控制语言Data Control Language
定义用于控制数据库的访问权限和事务处理确保数据库的安全性和数据完整性。常用命令 GRANT用于授予用户或角色对数据库对象如表、视图等的特定权限。REVOKE用于撤销用户或角色已经被授予的权限。COMMIT用于提交事务将事务中所做的所有修改永久保存到数据库中。ROLLBACK用于回滚事务撤销事务中所做的所有修改。 示例 授予权限授予用户 user1 对 employees 表的查询权限。
GRANT SELECT ON employees TO user1;撤销权限撤销用户 user1 对 employees 表的查询权限。
REVOKE SELECT ON employees FROM user1;1.案例:给开发创建一个账号 用来连接数据库 和查看数据库信息
create user test1% identified by 2004129; //发现可以远程登录但是 无法进行任何操作----2.接着我们给test1用户赋予查看mysql数据库下的user表权限
grant select on mysql.user to test1%;2.查询用户权限
备注:默认创建的用户 只有一个USAGE权限(只能登陆)reate user test1% identified by 2004129;flush privileges; //刷新数据库4. DDL数据定义语言Data Definition Language
定义用于定义数据库的结构包括创建、修改和删除数据库对象如表、视图、索引等。常用命令 CREATE用于创建数据库对象如创建数据库、表、视图等。ALTER用于修改已存在的数据库对象的结构如添加列、修改列的数据类型等。DROP用于删除数据库对象如删除数据库、表、视图等。 示例 创建表创建一个名为 employees 的表。
CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),salary DECIMAL(10, 2)
);修改表向 employees 表中添加一个新的列 department。
ALTER TABLE employees ADD COLUMN department VARCHAR(50);删除表删除 employees 表。
DROP TABLE employees;副本:
1.查看数据库编码类型:
show variables like char%;2.查找匹配关键字 like
show databases like u%; //只查找以u开头的数据库3.创建数据表数据表严格区分大小写
CREATE TABLE IF NOT EXISTS tanke ( id INT, name VARCHAR(100) NOT NULL, jneng VARCHAR(100) NOT NULL, jiage INT NOT NULL, PRIMARY KEY (id) ) ENGINEinnodb DEFAULT CHARSETutf8; // PRIMARY KEY (id) 设置key为id // ENGINEinnoDB 设置引擎为Innodb/// 查看创建表信息 show create table 表名// 查看表结构 desc 表名MariaDB [kings] desc tanke;4.删除数据库 drop database if exists 数据库名5.删除数据表 drop table if exists 表名用户管理
1.创建用户: create user test% identified by 密码2.授权:
grant all select,input,update,create on 数据库.数据表 to test% identified by 密码;危险:给予最大权限:grant all privileges on 数据库.数据表 to test‘%’ identified by ‘密码’;
删除用户: drop user 用户名‘ip’ // 加不加ip都可以 加了更精准 -----------------------------------------------------------------------------------------------------------------------------2025年2/22 23:51
后端代码连接mysql
php连接mysql脚本
环境安装: sudo dnf install mysqlnd php
脚本运行: php 文件
?php
// 数据库连接参数
$servername localhost;
$username your_username;
$password your_password;
$dbname your_database_name;// 创建连接
$conn new mysqli($servername, $username, $password, $dbname);// 检查连接是否成功
if ($conn-connect_error) {die(连接失败: . $conn-connect_error);
}// 设置字符集为 UTF-8
if (!$conn-set_charset(utf8)) {printf(字符集设置失败: %s\n, $conn-error);exit();
}
echo 连接成功字符集已设置为 UTF-8br;// 执行查询
$sql SELECT * FROM your_table_name;
$result $conn-query($sql);if ($result-num_rows 0) {// 输出数据while ($row $result-fetch_assoc()) {echo ID: . $row[id] . - 姓名: . $row[name] . br;}
} else {echo 0 结果;
}// 关闭连接
$conn-close();
?Python连接mysql
安装环境sudo dnf install python3 python3-devel
安装第三方库: pip install pymysql
import pymysql# 数据库连接参数
host localhost
user your_username
password your_password
database your_database_name
charset utf8try:# 创建数据库连接connection pymysql.connect(hosthost,useruser,passwordpassword,databasedatabase,charsetcharset)print(连接成功字符集已设置为 UTF-8)# 创建游标对象with connection.cursor() as cursor:# 执行 SQL 查询sql SELECT * FROM your_table_namecursor.execute(sql)# 获取查询结果results cursor.fetchall()if results:for row in results:print(fID: {row[0]}, 姓名: {row[1]})else:print(0 结果)except pymysql.Error as e:print(f数据库连接或操作出错: {e})
finally:# 关闭数据库连接if connection in locals() and connection.open:connection.close()print(数据库连接已关闭)-----------------------------------------------------\\\\2025 2-23 21.00
一.修该数据表
1.修改数据表名字: rename table 旧的表名 to 新表名; 2.修改数据表字段
MariaDB [kings] select * from tanke; ±—±-------±-------±------ | id | name | jneng | jiage | ±—±-------±-------±------ | 2 | 刘邦 | 传送 | 18888 | ±—±-------±-------±------ 1 row in set (0.000 sec) 上面 id 就是所谓的字段
3.添加字段 语法alter table 表名 add 字段名 数据类型 其他…; alter table tankex add age int;
枚举类型 枚举意思如下图
alter table tabkes add 字段名 ENUM(XXXX,XXXXX) not null default XXXX; //4.删除数据表字段 语法:alter table 表名 drop 字段名
alter table tankex drop host;
二 .添加索引 索引就像目录一样
1.查看数据表索引 show index from 数据库.数据表\G;
2.添加索引alter table 表名 add index 索引名(字段名);
3.删除索引alter table 数据表 drop index 索引名;
三.删除基本语法
1.删除数据库 drop database 数据库名;
2.删除数据表 drop table 数据表名;