《MySQL数据库》常用语法(一)
MySQL从创建数据库到对表的增删改操作汇总。
1. 数据库操作:
-- 查看所有的数据库
SHOW DATABASES ;
-- 创建一个数据库,XXX表示数据库名称
CREATE DATABASE XXX;
-- 删除一个数据库,XXX表示数据库名称
DROP DATABASE XXX;
-- 使用这个数据库,XXX表示数据库名称
USE XXX;
2. 用户操作:
-- 增加用户 第一个test是用户名,后一个test是密码
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
-- 在用户表中插入用户信息,直接操作User表不推荐
INSERT INTO mysql.user(Host, User, Password) VALUES ('localhost', 'test', Password('test'));
-- 删除用户
DROP USER 'test'@'localhost';
DELETE FROM mysql.user WHERE User='test' AND Host='localhost';
-- 更改用户密码
SET PASSWORD FOR 'test'@'localhost' = PASSWORD('test');
UPDATE mysql.user SET Password=Password('t') WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES ;
-- 用户授权
GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test';
-- 授予用'test'密码登陆成功的test@localhost用户操作所有数据库的所有表的所有的权限
FLUSH PRIVILEGES ; -- 刷新系统权限表,使授予权限生效
-- 撤销用户授权
REVOKE DELETE ON *.* FROM 'test'@'localhost'; -- 取消该用户的删除权限
3. 表的操作:
-- 查看所有的表
SHOW TABLES ;
-- 创建一个表 (XXX是表名,id 是字段名,INT,VARCHAR(10) 是字段类型和字段长度;not null表示字段不能为空
-- PRIMARY KEY (id) 将id字段设置成主键,UNIQUE (id)将id设置成唯一索引)
CREATE TABLE XXX(id INT, name VARCHAR(10) not null, PRIMARY KEY (id), UNIQUE (id));
-- 直接将查询结果导入或复制到新创建的表(XXX_TMP)
CREATE TABLE XXX_TMP SELECT * FROM XXX;
-- 新创建的表(XXX_TMP)与一个存在的表(XXX)的数据结构类似
CREATE TABLE XXX_TMP LIKE XXX;
-- 创建一个临时表
-- 临时表将在你连接MySQL期间存在。当断开连接时,MySQL将自动删除表并释放所用的空间。也可手动删除。
CREATE TEMPORARY TABLE XXX_TEMP(id INT, name VARCHAR(10));
-- 删除一个存在表,XXX表示表名
DROP TABLE IF EXISTS XXX;
-- 更改存在表的名称(将XXX_OLD改成XXX_NEW)
ALTER TABLE XXX_OLD RENAME TO XXX_NEW;
RENAME TABLE XXX_OLD TO XXX_NEW;
-- 查看表的结构(以下五条语句效果相同)XXX表示表名
DESC XXX; -- 因为简单,所以建议使用
DESCRIBE XXX;
SHOW COLUMNS IN XXX;
SHOW COLUMNS FROM XXX;
EXPLAIN XXX;
-- 查看表的创建语句(XXX表示表名)
SHOW CREATE TABLE XXX;
4. 表字段操作:
-- 添加字段(age),XXX表示表名
ALTER TABLE XXX ADD age VARCHAR(2) not null;
-- 删除字段age,XXX表示表名
ALTER TABLE XXX DROP age;
-- 只更改字段属性,可以为空
ALTER TABLE XXX MODIFY age VARCHAR(7) null;
5. 表增删改操作:
-- 增加数据
INSERT INTO(id,name) XXX VALUES (1, 'tom');
INSERT INTO XXX SELECT * FROM XXX_FROM; -- 把数据复制一遍重新插入
-- 删除数据,id=2的数据从表里面删除。
DELETE FROM XXX WHERE id = 2;
-- 更改数据,id等于2的数据的name字段更新成tom1
UPDATE XXX SET name = 'tom1' WHERE id = 2;
-- 数据查找(简单查询,后续精讲)
SELECT * FROM XXX;
6. 主键,唯一索引,索引的操作:
-- 添加主键
ALTER TABLE XXX ADD PRIMARY KEY (id);
-- pk_name 给主键命名
ALTER TABLE XXX ADD CONSTRAINT pk_name PRIMARY KEY (id);
-- 删除主键
ALTER TABLE XXX DROP PRIMARY KEY ;
-- 添加外键
ALTER TABLE XXX_W ADD FOREIGN KEY (id) REFERENCES XXX(id); -- 自动生成键名m_ibfk_1
ALTER TABLE XXX_W ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES XXX(id); -- 使用定义的键名fk_id
-- 删除外键
ALTER TABLE XXX_W DROP FOREIGN KEY 'fk_id';
-- 修改外键
ALTER TABLE XXX_W DROP FOREIGN KEY 'fk_id', ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCES XXX(id); -- 删除之后从新建
-- 添加唯一键
ALTER TABLE XXX ADD UNIQUE (name);
ALTER TABLE XXX ADD UNIQUE u_name (name); -- u_name索引名称
ALTER TABLE XXX ADD UNIQUE INDEX u_name (name); -- u_name索引名称
ALTER TABLE XXX ADD CONSTRAINT u_name UNIQUE (name); -- u_name索引名称
CREATE UNIQUE INDEX u_name ON XXX(name); -- u_name索引名称
-- 添加索引
ALTER TABLE XXX ADD INDEX (age);
ALTER TABLE XXX ADD INDEX i_age (age); -- i_age索引名称
CREATE INDEX i_age ON XXX(age); -- i_age索引名称
-- 删除索引或唯一键
DROP INDEX u_name ON XXX;
DROP INDEX i_age ON XXX;
7. 视图操作:
-- 创建视图
CREATE VIEW V_XXX AS SELECT id, name FROM XXX;
CREATE VIEW V_XXX(id, name) AS SELECT id, name FROM XXX;
-- 查看视图(与表操作类似)
SELECT * FROM V_XXX;
DESC V_XXX;
-- 查看创建视图语句
SHOW CREATE VIEW V_XXX;
-- 更改视图
CREATE OR REPLACE VIEW V_XXX AS SELECT name, age FROM XXX;
ALTER VIEW V_XXX AS SELECT name FROM XXX ;
-- 删除视图
DROP VIEW IF EXISTS V_XXX;
参考:https://blog.csdn.net/c361604199/article/details/79479398
《MySQL数据库》常用语法(一)的更多相关文章
- MySQl数据库常用的DOS命令
MySQl数据库常用的DOS命令.. 这是第一部分.. 数据库的连接信息:jdbc:mysql://localhost:3306/shxtcom.mysql.jdbc.Driver /*jdbc:sq ...
- MySQL 数据库常用命令小结
MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...
- DBA必备:MySQL数据库常用操作和技巧
DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...
- Mysql数据库常用的命令 数据备份 恢复 远程
远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...
- mysql数据库常用语句
关于mysql数据库常用命令的整理: 一:对于数据库的操作 show databases;显示当前用户下所有的数据库名称 use database_name;进入当前数据库 create databa ...
- Mysql数据库常用分库和分表方式
http://blog.csdn.net/clevercode/article/details/50877580 1 分库 1.1 按照功能分库 按照功能进行分库.常见的分成6大库: 1 用户类 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- Mysql数据库常用操作语句大全
零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...
- linux操作mysql数据库常用简单步骤
连接mysql数据库: 主要看mysql安装在哪一个目录下: mysql -h主机地址 -u用户名 -p用户密码 或者mysql -h ip地址 -u zaiai -p zaiai 或者/v ...
- MySQL 数据库常用命令
1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...
随机推荐
- PL真有意思(四):控制流
前言 对大多数计算模型而言,顺序都是基本的东西,它确定了为完成所期望的某种工作,什么事情应该最先做,什么事应该随后做,我们可以将语言规定顺序的机制分为几个类别: 顺序执行 选择 迭代 过程抽象 递归 ...
- python3 之 匿名函数
一.语法: lambda 参数:方法(或三元运算) #最多支持3元运算 二.实例1:基础 #函数1: a = lambda x:x*x print(a(2)) #函数2: def myfun(x): ...
- Excel 如何做不定长区间汇总统计
第一步:创建数据-区间 辅助表(注意:首列值必须以升序排列,为后面vlookup模糊匹配做准备) 第二步:用vlookup模糊匹配生成一个新的“金额区间”字段 第三步:以“金额区间”字段为行透视汇总
- 折腾笔记-计蒜客t1156AC记
欢迎查看原题地址 此题思路(最初版): 暴力,得出最相近的,1000ms呢,除非数据超大,否则不超时. 说明: 爆搜,搜出结果,时间复杂度基本 $O(n^2)$ 注:本文所有时间(与空间)复杂度仅为估 ...
- Java多线程——线程间通信
Java多线系列文章是Java多线程的详解介绍,对多线程还不熟悉的同学可以先去看一下我的这篇博客Java基础系列3:多线程超详细总结,这篇博客从宏观层面介绍了多线程的整体概况,接下来的几篇文章是对多线 ...
- Servlet+Ajax实现搜索框智能提示
简介:搜索框相信大家都不陌生,几乎每天都会在各类网站进行着搜索.有没有注意到,很多的搜索功能,当输入内容时,下面会出现提示.这类提示就叫做搜索框的智能提示,本门课程就为大家介绍如何使用Servlet和 ...
- 【数据结构】之顺序表(Java语言描述)
之前总结过使用C语言描述的顺序表数据结构.在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见[我的这篇文章]. 在Java语言的JDK中 ...
- 阿里P7整理“硬核”面试文档:Java基础+数据库+算法+框架技术等
现在的程序员越来越多,大部分的程序员都想着自己能够进入大厂工作,但每个人的能力都是有差距的,所以并不是人人都能跨进BATJ.即使如此,但身在职场的我们一刻也不能懈怠,既然对BATJ好奇,那么就要朝这个 ...
- 使用HttpReports快速搭建API分析平台
HttpReports 简单介绍 HttpReports 是 .Net Core下的一个Web组件,适用于 WebAPI 项目和 API 网关项目,通过中间件的形式集成到您的项目中, 通过HttpRe ...
- Netty学习——服务器端代码和客户端代码 原理详解
服务器端代码和客户端代码 原理详解:(用到的API) 0.Socket 连接服务器端的套接字 1.TcompactProtocol 协议层2.TFrameTransport 传输层3.THsh ...