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
2. 查看当前的数据库
使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。
show databases;
3. 创建数据库
使用 create database 数据库名; 创建数据库。
create database MyDB_one;
4. 创建数据库时设置字符编码
使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。
create database MyDB_two character set utf8;
create database MyDB_three charset utf8;
5. 查看和显示数据库的编码方式
使用 show create database 数据库名; 显示数据库的创建信息。
show create database MyDB_one; show create database MyDB_two;
当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。
6. 使用 alter database 数据库名 character set utf8; 修改数据库编码
alter database MyDB_one character set utf8;
7. 进入或切换数据库
使用 use 数据库名 进入或切换数据库。
use MyDB_one use MyDB_two;
use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。
8. 显示当前数据库 select database();
select database();
三、创建数据表
1. 查看当前数据库中的表
使用 show tables;查看当前数据库中有哪些表。
show tables;
2. 创建表
使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。
create table Phone_table(pid INT, name CHAR(20), price INT);
3. 显示表信息
用 show create table 表名; 来显示已创建的表的信息。
show create table Phone_table;
如果想更好地展示表的字段信息,可以使用 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);
修改表名:
alter table wlyx2001 rename TO student;
修改后表名发生改变
7. 修改字段的数据类型并且改名
使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。
alter table Phone_table change name pname CHAR(18);
四、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 |
| 数据类型 | 字节范围 | 用途 |
| CHAR(n) | 0 — 255字节 | 定长字符串 |
| VARCHAR(n) | 0 — 65535字节 | 变长字符串 |
| TEXT | 0 — 65535字节 | 长文本数据 |
| LONGTEXT | 0 — 2^32-1字节 | 极大文本数据 |
| BLOB | 0 — 65535字节 | 二进制长文本数据 |
| LONGBLOB | 0 — 2^32-1字节 | 二进制极大文本数据 |
m 表示浮点数的总长度,n 表示小数点后有效位数。
| 数据类型 | 数据用法 | 数据范围 |
| Float | Float(m,n) | 7位有效数 |
| Double | Double(m,n) | 15位有效数 |
| Decimal | Decimal(m,n) | 28位有效数 |
| 数据类型 | 格式 | 用途 |
| DATE | YYYY-MM-DD | 日期 |
| TIME | HH:MM:SS | 时间 |
| YEAR | YYYY | 年份 |
| DATETIME | YYYY-MM-DD HH:MM:SS | 日期和时间 |
| TIMESTAMP | 10位或13位整数(秒数) | 时间戳 |
enum(枚举值1,枚举值2,…)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232431.html原文链接:https://javaforall.net
