MySql数据库基础操作——数据库、用户的创建,表的制作、修改等
MySql 是一款使用便捷、轻量级的数据库。因为他体积小、速度快、安装使用简单、开源等优点,目前是使用最广泛的数据库。目前位于Oracle甲骨文公司旗下。那今天我们就来介绍一下数据库的基本操作。具体介绍通过指令的方式来操作数据库。
首先,连接数据库的软件很多,比如说 Navicat 等软件。通过这些软件可以轻松便捷的操作数据库,但是今天的重点不在这。
我们今天普及一下指令操作的方式操作MySql数据库。
我们主要从以下 4 个方面介绍:
1.数据库的 创建、删除、查询 等语句 跳转
2.用户的 创建、删除、配置权限等语句 跳转
3.表的 创建、删除、查询 跳转
4.表的字段的 删除、修改等操作 跳转
5.修改约束条件 跳转
那接下来就开始具体的介绍。
1.数据库的 创建、删除、查询 等语句
CREATE DATABASE IF NOT EXISTS myDB CHARACTER SET 'UTF8';
上述语句是 判断如果 myDB 数据库不存在就创建他,并设置其为 UTF8 的字符集编码。如果已经存在就不会重复创建。
DROP DATABASE IF EXISTS mydb;
若果 mydb 数据库存在,就删除数据库,不存在则不删除
SHOW DATABASES;
查询显示出,本机所有的数据库
USE mybiji;
打开使用 mybiji 数据库,对数据库的所有操作都必须打开一个数据库才行
SHOW TABLES FROM mybiji;
显示 mybiji 数据库的所有数据表
2.用户的 创建、删除、配置权限等语句
CREATE USER 'fei'@'%' IDENTIFIED BY 'fei';
这是创建用户 fei 。主机名可以为空,为空默认是 %权限,表示所有主机均可连接。
CREATE USER 'fei'@'localhost' IDENTIFIED BY 'fei';
创建用户 fei 。 localhost是本地主机才能访问
GRANT ALL ON *.* TO 'fei'@'localhost';
给用户分 fei 配权限 *.* 所有数据库的所有表
GRANT SELECT INSERT DELETE ON mysql.`user` TO 'feige'@'localhost';
给用户添加指定数据库 mysql 的权限
REVOKE ALL ON *.* FROM 'fei'@'localhost';
删除用户的权限。这里表示所有权限。
3.表的 创建、删除、查询
CREATE TABLE IF NOT EXISTS myTable(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, -- UNSIGNED 无符号;AUTO_INCREMENT 设置自动增长;PRIMARY KEY设为关键字;
-- PRIMARY KEY(id),
`name` VARCHAR(255) NOT NULL, -- 这里的name是系统关键字,所以这里用 反引号 包起来。正常来说字段是不加符号的,就像height之类的一样
age TINYINT UNIQUE,
height DOUBLE(3,2) DEFAULT 1.2
)
这是创建 数据表 指令。小括号内都是表的字段。
DROP TABLE IF EXISTS myTable;
删除 myTable 数据表
SHOW COLUMNS FROM myTable;
显示表 myTable 的内容和结构
4.表的字段的 删除、修改等操作
-- 修改表的名字. 这是 ALTER TABLE 以前的名 RENAME 想要的名;
ALTER TABLE tb3 RENAME tb33;
修改表的名字. ALTER TABLE 以前的名 RENAME 想要的名;
-- 这是同时修改多个表名, RENAME TABLE 以前的名 TO 现在的名,想要的名 TO 想要的名;
RENAME TABLE tb1 TO tb11,tb2 TO tb22;
这是同时修改多个表名, RENAME TABLE 以前的名 TO 现在的名,想要的名 TO 想要的名;
-- ALTER TABLE 表名 CHANGE 旧列名 新列名 列定义 后面是可选的; FIRST 将当前条调整到表格第一列。AFTER是调节到某一列后边
-- 这个字段在哪无所谓的,主键在最后也一样
ALTER TABLE tb33 CHANGE `name` `ueername` VARCHAR(200) NOT NULL AFTER id;
ALTER TABLE 表名 CHANGE 旧列名 新列名 列定义 后面是可选的; FIRST 将当前条调整到表格第一列。AFTER是调节到某一列后边
-- 新增一列
ALTER TABLE tb33 ADD height DOUBLE(6,2) DEFAULT 1.2;
-- 删除一列
ALTER TABLE tb33 DROP height;
新增一列;删除一列
-- 增加多列字段
ALTER TABLE tb33 ADD(
weight DOUBLE(6,2) DEFAULT 1.2,
age int DEFAULT 22
)
增加多列字段
5.修改约束条件
-- 删除主键约束
ALTER TABLE tb33 DROP PRIMARY KEY;
-- 增加主键约束
ALTER TABLE tb33 ADD PRIMARY KEY(age);
增加主键约束;增加主键约束
-- 新增唯一性约束
ALTER TABLE tb33 ADD UNIQUE KEY(id);
-- 删除唯一性约束》注意删除唯一性约束时,会默认创建索引,所以删除的时候要同时删除索引。
ALTER TABLE tb33 DROP INDEX id;
新增唯一性约束;删除唯一性约束
-- 设置默认值约束
ALTER TABLE tb33 ALTER weight SET DEFAULT 20;
-- 删除默认值约束
ALTER TABLE tb33 ALTER weight DROP DEFAULT;
设置默认值约束; 删除默认值约束
-- 设置外键约束
ALTER TABLE tb33 ADD FOREIGN KEY (clsid) REFERENCES classes(id) ON DELETE SET NULL ON UPDATE CASCADE;
-- 删除外键约束
ALTER TABLE tb33 DROP FOREIGN KEY tb33_ibfk_1; -- 运行时有错误的,但是功能实现了,确实删掉外键约束了
-- 注意删除外键约束的时候,还要删除对应的外键索引
ALTER TABLE tb33 DROP INDEX tb33_ibfk_1;
设置外键约束;删除外键约束
-- 他只能修改 列定义和列的位置.无法改列的名
ALTER TABLE tb33 CHANGE `ueername` VARCHAR(200) NOT NULL FIRST clsID;
以上就是基本的数据库操作指令,若果有差错还请朋友们能指正,让我们共同交流。
MySql数据库基础操作——数据库、用户的创建,表的制作、修改等的更多相关文章
- MySQL数据库----基础操作
一.知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list ...
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- 同一个数据库实例,不同用户下多表创建视图,Hibernate完毕ORM映射,Spring整合,后台实现
1.同一个数据库实例.同用户,多表创建视图 2.同一个数据库实例,不同用户下.多表创建视图 3.同一个数据库,不同数据库实例,多表创建视图 4.不同类型数据库,多表创建视图 1.同一个数据库实例.同用 ...
- C# IV: 数据库基础操作2
需上一篇C# III:数据库基础操作 另外一个经常碰到的数据库操作是,单次执行多个SQL语句,譬如,一次性插入多条数据. 方法一,拼凑长SQL语句 拼凑长SQL语句实际上是String的操作.如下示例 ...
- Pandas的基础操作(一)——矩阵表的创建及其属性
Pandas的基础操作(一)——矩阵表的创建及其属性 (注:记得在文件开头导入import numpy as np以及import pandas as pd) import pandas as pd ...
- oracle 创建用户,授权用户,创建表,查询表
原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...
- Cookie操作类、 包括创建、读取、修改、获取、销毁cookie
Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...
- 10月16日上午MySQL数据库基础操作(创建、删除)
以前用的是鼠标在界面上手动创建,这样创建会比较麻烦,而且还会经常出问题.在其它电脑上要用的话还需要重复操作.所以要使用程序代码操作,能通过代码的就不用手动操作. 在数据库界面选择要用的数据库,双击打开 ...
- python---基础知识回顾(八)数据库基础操作(sqlite和mysql)
一:sqlite操作 SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以 ...
随机推荐
- NodeJS 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
- PHP:基于百度大脑api实现OCR文字识别
有个项目要用到文字识别,网上找了很多资料,效果不是很好,偶然的机会,接触到百度大脑.百度大脑提供了很多解决方案,其中一个就是文字识别,百度提供了三种文字识别,分别是银行卡识别.身份证识别和通用文字识别 ...
- c# 操作monogodb的一些简单封装
public interface IDataBaseCore { } public class BasicData : IDataBaseCore { } public class Filter ...
- javascript设计模式详解之命令模式
每种设计模式的出现都是为了弥补语言在某方面的不足,解决特定环境下的问题.思想是相通的.只不过不同的设计语言有其特定的实现.对javascript这种动态语言来说,弱类型的特性,与生俱来的多态性,导致某 ...
- 转:Redis 配置为 Service 系统服务
在Linux中,将程序配置为服务后,就可以使用service命令对系统服务进行管理,如:start(启动).stop(停止).restart(重启)等.Redis安装后默认不会配置为系统服务,本文将介 ...
- 【持续集成】GIT+jenkins+snoar——GIT
一.GIT基础 1.1 git简介 linux用C语言编写 2005年诞生 分布式管理系统 速度快.适合大规模.跨地区多人协同开发 1.2 本地管理.集中式.分布式 1.3 git安装 #CentOS ...
- Vector的浅析
Vector 可实现自动增长的对象数组.java.util.vector 提供了向量类(vector)以实现类似动态数组的功能.在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提 ...
- struts和struts2的区别
1.Structs2简介和Structs2开发环境搭建 一.Structs2简介: 1.什么是Struct2? 著名的SSH三大框架分别为:表现层(Structs).业务逻辑层(Spring),持久化 ...
- Zookeeper ZAB 协议分析
前言 ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的原子广播协议.在 ZooKeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性,基于该协议,ZooKeep ...
- 4.docker学习之镜像
镜像 我们知道,我们想在Windows操作系统上跑Linux,需要安装一个虚拟机程序,然后下载一个Linux镜像,在该虚拟机程序中创建一个虚拟机,并使用该镜像安装对应的Linux操作系统,安装好之后, ...