MySQL创建数据库和创建数据表的操作过程

 更新时间:2022年11月08日 10:07:34   作者:小斌哥ge  
MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD,这篇文章主要介绍了MySQL创建数据库和创建数据表的操作过程,需要的朋友可以参考下

MySQL 创建数据库和创建数据表

MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。

在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。

一、数据库操作语言

数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。

SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。

SQL 语言的作用:

1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。

2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。

3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。

4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。

使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)

在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。

二、创建数据库

1. 连接 MySQL

输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(不要忘记了密码),再回车,就连接上 MySQL 了。

mysql -u root -p

最初,都是使用 root 用户登录,工作中如果一直用 root 用户登录,因为权限太大,风险是很大的,所以等创建好权限适合的用户后,就不要经常登录 root 用户了。

2. 查看当前的数据库

使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。

show databases;

刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。

3. 创建数据库

使用 create database 数据库名; 创建数据库。

create database MyDB_one;

创建数据库成功后,数据库的数量变成了5个,多了刚才创建的 MyDB_one 。

4. 创建数据库时设置字符编码

使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。

create database MyDB_two character set utf8;

直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。

create database MyDB_three charset utf8;

character set 可以缩写成 charset ,效果是一样的。

5. 查看和显示数据库的编码方式

使用 show create database 数据库名; 显示数据库的创建信息。

show create database MyDB_one;
show create database MyDB_two;

如果不知道一个数据库的编码方式是什么,可以使用 show create database 数据库名 来查看数据库的编码方式。可以看到刚才创建的 MyDB_one 的编码方式是 MySQL 的默认编码 latin1 ,MyDB_two 的编码方式是 utf-8 。

当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。

6. 使用 alter database 数据库名 character set utf8; 修改数据库编码

alter database MyDB_one character set utf8;

如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。

7. 进入或切换数据库

使用 use 数据库名 进入或切换数据库。

use MyDB_oneuse MyDB_two;

刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。

use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。

8. 显示当前数据库 select database();

select database();

进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。

三、创建数据表

1. 查看当前数据库中的表

使用 show tables;查看当前数据库中有哪些表。

show tables;

在刚才创建的数据库 MyDB_one 中,还没有创建任何表,所以当前是空的。

2. 创建表

使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。

create table Phone_table(pid INT, name CHAR(20), price INT);

在 MyDB_one 中创建了一个叫 Phone_table 的数据表,这张表有三个字段 pid,name,price 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。

3. 显示表信息

用 show create table 表名; 来显示已创建的表的信息。

show create table Phone_table;

使用 show create table 表名;  可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。

如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。

4. 给表增加字段

使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。

alter table Phone_table add color CHAR(20);

添加后,刚才的表中多了一个字段,新增成功。

5. 删除表的字段

使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。

alter table Phone_table drop price;

删除字段后,表中不再有该字段。

6. 修改字段的数据类型

使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。

alter table Phone_table modify name VARCHAR(12);

修改之后,该字段的数据类型发生改变。

7. 修改字段的数据类型并且改名

使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。

alter table Phone_table change name pname CHAR(18);

现在,将表的 name 改成了 pname ,同时修改了 pname 的数据类型。

四、MySQL 常用字段类型

一个数据表是由若干个字段组成的,一个表十几个字段也很正常,每个字段表示不同的信息,需要使用不同类型的数据。

所以在创建表的时候,要为每个字段指定适合的数据类型。

MySQL 中常用的字段类型有以下这些:

1. 整数类型

数据类型数据范围
TINYINT-128 -- 127
SMALLINT-32768 -- 32767
MEDIUMINT-2^23 -- 2^23-1
INT-2^31 -- 2^31-1
BIGINT-2^63 -- 2^63-1

2. 字符串类型

数据类型字节范围用途
CHAR(n)0 -- 255字节定长字符串
VARCHAR(n)0 -- 65535字节变长字符串
TEXT0 -- 65535字节长文本数据
LONGTEXT0 -- 2^32-1字节极大文本数据
BLOB0 -- 65535字节二进制长文本数据
LONGBLOB0 -- 2^32-1字节二进制极大文本数据

3. 小数类型

数据类型数据用法数据范围
FloatFloat(m,n)7位有效数
DoubleDouble(m,n)15位有效数
DecimalDecimal(m,n)28位有效数

4. 时间类型

数据类型格式用途
DATEYYYY-MM-DD日期
TIMEHH:MM:SS时间
YEARYYYY年份
DATETIMEYYYY-MM-DD HH:MM:SS日期和时间
TIMESTAMP10位或13位整数(秒数)时间戳

5. 枚举类型

enum(枚举值1,枚举值2,...)

枚举类型只能在列出的值中选择一个,如性别。

到此这篇关于MySQL创建数据库和创建数据表的操作过程的文章就介绍到这了,更多相关mysql创建数据库和数据表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中union和order by同时使用的实现方法

    MySQL中union和order by同时使用的实现方法

    下面小编就为大家带来一篇MySQL中union和order by同时使用的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 详解MySQL 表中非主键列溢出情况监控

    详解MySQL 表中非主键列溢出情况监控

    这篇文章主要介绍了详解MySQL 表中非主键列溢出情况监控,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Mysql行转列把逗号分隔的字段拆分成多行两种方法

    Mysql行转列把逗号分隔的字段拆分成多行两种方法

    在数据库中有时候我们需要将一些行数据转换为列数据,这在处理数据透视表、报表生成等场景下非常常见,这篇文章主要给大家介绍了关于Mysql行转列把逗号分隔的字段拆分成多行的两种方法,需要的朋友可以参考下
    2024-05-05
  • mysql表物理文件被误删的解决方法

    mysql表物理文件被误删的解决方法

    最近因为失误不小心误删了mysql表的物理文件,这个时候该怎么办呢?然后抓紧从网上找解决的方法,终于解决了,现在将解决的方法及过程分享给大家,有需要的朋友们可以参考借鉴,感兴趣的朋友们下面来一起学习学习吧。
    2016-11-11
  • 如何安全地关闭MySQL

    如何安全地关闭MySQL

    这篇文章主要介绍了如何安全地关闭MySQL,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-12-12
  • MySQL数据库连接查询 join原理

    MySQL数据库连接查询 join原理

    这篇文章主要介绍了MySQL数据库连接查询 join原理,文章首先通过将多张表连到一起查询 导致记录行数和字段列发生变化,利用一对一、一对多和多对多关系保证数据完整性展开主题内容,需要的小伙伴可以参考一下
    2022-06-06
  • Mysql主从GTID与binlog的区别及说明

    Mysql主从GTID与binlog的区别及说明

    MySQL GTID(全局事务标识符)与binlog(二进制日志)是搭建主从复制的两种机制,GTID为每个事务分配唯一标识,确保复制无数据冲突或丢失,便于复制配置和管理;binlog记录所有数据库更改,用于数据恢复和复制,GTID基于事务标识
    2024-10-10
  • 如何保护MySQL中重要数据的方法

    如何保护MySQL中重要数据的方法

    在日常的工作中,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题。如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险
    2011-10-10
  • 优化 MySQL 3 个简单的小调整

    优化 MySQL 3 个简单的小调整

    本文给大家带来了优化 MySQL 3 个简单的小调整,需要的朋友参考下
    2018-02-02
  • MySQL递归查找树形结构(这个方法太实用了!)

    MySQL递归查找树形结构(这个方法太实用了!)

    对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归查询,下面这篇文章主要给大家介绍了关于MySQL递归查找树形结构的相关资料,需要的朋友可以参考下
    2022-11-11

最新评论