本文共 2261 字,大约阅读时间需要 7 分钟。
SQL(Structured Query Language),简称SQL,是一种结构化查询语言,主要用于与数据库进行交互。SQL可以分为六个主要部分:数据查询语言(DQL)、数据操作语言(DML)、事务控制语言(TCL)、数据控制语言(DCL)、数据定义语言(DDL)和指针控制语言(CCL)。这些部分共同构成了SQL的核心语法,帮助用户高效地与数据库进行数据管理。
在学习SQL之前,首先需要理解数据库、表、列和行的基本概念。数据库是一个容纳多个表的仓库,表则是存储数据的单元,列是表中数据的具体属性,而行则是数据的记录单元。
连接MySQL数据库可以通过以下方式实现:
命令行连接:使用mysql -u username -p -h hostname
命令连接数据库。例如:
mysql -u g8s_manager -p
输入密码后即可进入数据库。
图形化工具:使用如Navicate、Workbench等工具进行图形化操作。
socket连接:在Unix系统中,通过socket文件连接数据库。例如:
mysql -u username --socket=/path/to/socket
create database g8s_manager;
drop database g8s_manager;
创建表:
create table clusters ( id INT AUTO_INCREMENT NOT NULL, name VARCHAR(20) NOT NULL, version INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, kubeconfig JSON NOT NULL, PRIMARY KEY (id)) ENGINE = InnoDB;
添加数据:
insert into clusters (name, version, created_at, updated_at, kubeconfig) values ('cluster-1', 1, NOW(), NOW(), '{"name": "cluster1"}');
查看表结构:
desc clusters;
修改表结构:
alter table clusters modify id int not null;
删除表:
drop table clusters;
基本查询:
select id, name, version from clusters;
查询筛选条件:
select id, name, version from clusters where name = 'cluster-1';
排序与限制:
select id, name from clusters order by name asc limit 2;
聚合函数:
select count(*) as total_clusters, name from clusters group by name;
插入数据:
insert into clusters (name, version, created_at, updated_at, kubeconfig) values ('cluster-2', 1, NOW(), NOW(), '{"name": "cluster2"}');
删除数据:
delete from clusters where id > 5;
更新数据:
update clusters set version = 2 where id = 1;
开始事务:
begin;
提交事务:
commit;
回滚事务:
rollback;
DCL主要涉及权限管理,常用的命令包括GRANT
和REVOKE
。
授权权限:
grant select on g8s_manager.* to 'g8s_admin'@'%';
撤销权限:
revoke all on g8s_manager.* from 'g8s_admin'@'%';
创建角色:
create role cpc_develop;
赋予角色权限:
grant create, update, select, insert on cpc.* to cpc_develop;
激活角色:
set role cpc_develop;
通过以上内容,读者可以逐步掌握SQL的基础语法和实际操作技巧,开始你的数据库学习之旅!
转载地址:http://nobfk.baihongyu.com/