MySQL增删改查基本语句
Mysql语句
一,数据对象
DDL:数据定义语言
CREATE
ALTER
DROP
DML:数据操作语言
INSERT
UPDATE
DELETE
DCL:数据控制语言
GRANT
REVOKE
二,DDL的用法
创建数据库:CREATE database testname;
如果不存在就创建:CREATE database IF NOT EXISTS testname;
删除数据库:DROP DATABASE testname;
创建用户:CREATE USER ‘username’@’host’ IDENTIFIED BY ‘PASSWORD’
删除用户:DROP USER ‘username’@’host’;
HOST解读:
IP
HOSTNAME
通配符:_:匹配任意单个字符,172.16.0._
匹配任意长度的任意字符使用,%
查看用户授权:show GRANTS from ‘username’@‘%’;
创建表:CREATE TABLE tablename; (先切换至testname库,use testname);
创建表及数据:create table tablename(name varchar(10) age int(3));
查看表:show table tablename;
查看表结构:DESC tablename;
删除表:drop table tablename;
修改表:
MODIFY:修改某个字段,修改字段属性,字段名字不改
CHANGE:改变某个字段,改变字段名称
ALTER table tablename CHANGE id ID CHAR(12) AFTER name;
ADD:添加一个字段
ALTER table tablename ADD id int(10);(默认在最后)
解读:将id修改为大写id,修改数据类型,放置name后面一行。
DROP:删除一个字段
ALTER table tablename drop name;
解读:删除一个name字段
不会使用可以帮助:help create table;help alter table;
三,DML的用法
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1);
INSERT INTO tablename VALUES(‘user1’,1);
批量插入数据
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1), (‘user2’,2), (‘user3’,3);
UPDATE tablename SET name=’user1’ where id=5;
解读:将表中,user1的用户,部门号由1改为5
SELECT name,id from tablename where age=33;
解读:查询出年龄为33岁的,显示名字和部门
Delete from tablename where name=‘user1’;
解读:删除表中名字等于user1的,如果没有带where表示所有行。
四,DCL数据控制语言
给一个用户所有权限
Grant ALL PRIVILEGES ON test.* TO ‘username’@’%’ IDENTIFIED BY ‘123.com’
给用户test库里面所有表,所有权限,并设置密码为123.com
GRANT [select, delete,creat…] ON ku_name.tab_name TO ‘username’@‘host’[IDENTIFIED BY ‘PASSWORD’];
解读:授予查询,或删除,哪个库,哪个表,给哪个用户,主机权限。后还可以给没添加密码的用户添加密码,或者重新设置密码。
如果用户不存在,会自动创建并授权。
REVOKE [SELECT,DELETE,CREATE..] ON ku_name.tab_name from ‘username’@’host’;
解读:取消权限的办法。
五,给用户添加密码。
第一种办法
Mysql> SET PASSWORD FOR ‘root’@’localhost’ =PASSWORD(‘123.COM’);
给root添加密码,加密存放
改一个用户密码,或授权,密码和授权存放在内存中,所以要让mysql加
一下才生效。
FLUSH PRIVILEGES;刷新授权表,重新加载。(修改完成,都需重新加载)
第二种办法
Mysqladmin -uroot -h127.0.0.1 –p password ‘ 123.com’;
第三种办法
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=’root’ AND Host=[localhost,127.0.0.1];
解读:修改root密码,是locaohost,还是127.0.0.1,
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=‘root’;
解读:不管是localhost还是127.0.0.1,只要是root用户的,密码全部被修改。
给远程用户添加密码权限
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.%.%’ IDENTIFIED BY ‘passwprd’
允许192.168网段的所有主机,通过root用户,连接任意表,任意库,密码password
FLUSH PRIVILEGES;
远程登陆:mysql -uroot -p -h192.168.1.1
图形化管理工具
Phpmyadmin
Workbench
Mysql front
Navicat for mysql
Toad
SQLyog
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)