本文介绍了“MySQL如何创建数据库和数据表”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
MySQL 创建数据库和创建数据表
MySQL是最常用的数据库。在数据库操作中,基本上就是增删查的操作,简称CRUD。
在此之前,需要先安装MySQL,然后创建好数据库、数据表和操作用户。
一、数据库操作语言
操作数据库时,需要使用特殊的数据库操作规则和语法,这就是SQL(结构化查询语言)结构化查询语言。
SQL的主要功能是与数据库建立连接,以及添加、删除和检查。SQL是关系数据库管理系统的标准语言。
SQL语言的功能:
1.数据定义语言。用于创建数据库和数据表。
2.数据操作语言。用于插入、修改和删除数据表中的数据。
3.数据查询语言DQL(数据查询语言)。用于从数据表中查询数据。
4.数据控制语言。用于设置或修改数据库用户或角色的权限。
当使用SQL操作数据库时,所有的SQL语句都以分号结束。(您可以不使用分号来切换数据库)
在SQL语句中,不区分大小写。编写SQL语句时,可以使用区分大小写来提高可读性。
二、创建数据库
1.连接到MySQL
输入MySQL-urout-p命令,按回车键,然后输入MySQL密码(不要忘记密码),再按回车键连接MySQL。
MySQL-uroot-p
起初,我们总是使用根用户登录。如果我们在工作中总是使用root用户登录,因为权限太大,风险非常大。因此,在创建具有适当权限的用户后,我们不应该频繁登录到根用户。
2.检查当前数据库
使用show数据库;检查MySQL中当前安装了哪些数据库。
showdatabases
首次安装mysql时,默认有四个数据库,information_schema、MySQL、perfomance _ schema和sys。通常我们不会直接使用这四个数据库,但也不要删除,否则会带来很多不必要的麻烦。如果不小心删除了,建议重新安装MySQL,迁移自己的数据并在重新安装前备份,或者从另一台服务器迁移一个相同的数据库。
创建数据库
使用创建数据库数据库名称;创建数据库。
createdatabaseMyDB _ one
数据库创建成功后,数据库数量变成了五个,比刚刚创建的MyDB_one还多。
4.创建数据库时设置字符编码。
使用创建数据库数据
库名 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_one use 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字节 | 变长字符串 |
TEXT | 0 -- 65535字节 | 长文本数据 |
LONGTEXT | 0 -- 2^32-1字节 | 极大文本数据 |
BLOB | 0 -- 65535字节 | 二进制长文本数据 |
LONGBLOB | 0 -- 2^32-1字节 | 二进制极大文本数据 |
3. 小数类型
m 表示浮点数的总长度,n 表示小数点后有效位数。
数据类型 | 数据用法 | 数据范围 |
Float | Float(m,n) | 7位有效数 |
Double | Double(m,n) | 15位有效数 |
Decimal | Decimal(m,n) | 28位有效数 |
4. 时间类型
数据类型 | 格式 | 用途 |
DATE | YYYY-MM-DD | 日期 |
TIME | HH:MM:SS | 时间 |
YEAR | YYYY | 年份 |
DATETIME | YYYY-MM-DD HH:MM:SS | 日期和时间 |
TIMESTAMP | 10位或13位整数(秒数) | 时间戳 |
5. 枚举类型
enum(枚举值1,枚举值2,...)
枚举类型只能在列出的值中选择一个,如性别。
“MySQL如何创建数据库和创建数据表”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155992.html