当前位置:首页 » Mysql技术教程

MySql数据库基础操作——数据库、用户的创建,表的制作、修改等

2017-06-17 21:21 本站整理 浏览(8)

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;

以上就是基本的数据库操作指令,若果有差错还请朋友们能指正,让我们共同交流。