MySQL数据库操作
———数据库和表的基本操作(一)
1. 数据库
- 查看数据库
- 查看所有数据库
SHOW DATABASES;
- 查看创建的数据库
SHOW CREATE DATABASE 数据库名称;
SHOW CREATE DATABASE my_db;
- 创建数据库
CREATE DATABASE 数据库名称;
CREATE DATABASE my_db;
注意:
可以设置数据库的编码
eg:
CREATE DATABASE my_db DEFAULT CHARACTER SET = 'utf8mb4';
- 修改数据库
- 改编码
ALTER DATABASE 数据库名称 default character SET 编码格式;
ALTER DATABASE my_db default character SET utf8;
- 删除数据库
DROP DATABASE 数据库名称;
DROP DATABASE my_db;
2.数据类型
- 整形
数据类型 | 字节数 | 无符号的取值范围 | 有符号的取值范围 |
tinyint | 1 | 0~255 | -128~127 |
smallint | 2 | 0~65 535 | -32 768~32 767 |
mediumint | 3 | 0~16 777 215 | -8 388 608~8 388 607 |
int | 4 | 0~4 294 967 295 | -2 147 483 648~2 147 483 647 |
bigint | 8 | 0~18 446 744 073 709 551 615 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
- 浮点数
数据类型 | 字节数 |
float | 4 |
double | 8 |
decimal(m,d) | m+2 |
- 时间与日期
数据类型 | 字节数 | 日期格式 | 零值 | 取值范围 |
year | 1 | YYYY | 0000 | 1901~2155 |
date | 4 | YYYY-MM-DD | 0000-00-00 | 1000-1-1~9999-12-3 |
time | 3 | HH:MM:SS | 00:00:00 | -838:59:59~838:59:59 |
datetime | 8 | YYYY-MM-DD HH:MM:SS | 0000-00-00 00:00:00 | 1000-1-1 0:0:0~9999-12-31 23:59:59 |
timestamp | 4 | YYYY-MM-DD HH:MM:SS | 0000-00-00 00:00:00 | 1970-1-1 0:0:1~2038-1-19 3:14:7 |
- 字符串和二进制
数据类型 | 类型说明 |
char(m) | 固定长度m的字符串 |
varchar | 可变长度的字符串 |
binary(m) | 固定长度m的二进制 |
varbinary | 可变长度的二进制 |
bolb | 二进制的大数据 |
text | 大文本 |
enum | 枚举,只能存储一个枚举字符串 |
set | 字符串对象,可以有零或多个值 |
bit | 位字段 |
3.数据表基本操作
- 创建表
CREATE TABLE 表名(
字段名1 数据类型 [完整约束条件],
字段名2 数据类型 [完整约束条件],
....
字段名n 数据类型 [完整约束条件]
);
/*例如*/
CREATE TABLE student(
id int(11),
name varchar(20),
grade float
);
- 注意
要想创建表,就必须先进入某一个数据库
- sql语句为
USE 数据库名
USE my_db;
- 查看表
- 查看所有数据表
SHOW TABLES;
- 查看指定数据表
- 查看定义指定表时用的语句+表的编码
SHOW CREATE TABLE 表名;
SHOW CREATE TABLE student;
- 查看表结构
DESCRIBE 数据表;
describe student;
/*简写*/
DESC 数据表;
DESC student;
- 修改表
- 修改表名
ALTER TABLE 数据表原名字 RENAME TO 数据表新名字;
ALTER TABLE student RENAME TO user_stu;
- 修改字段名
/*更改字段 名字|数据类型*/
ALTER TABLE 表名 CHANGE 原字段 新字段 新数据类型;
ALTER TABLE user_stu CHANGE _name_ _name_ char(20);
- 修改字段数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型;
ALTER TABLE user_stu modify _name_ varchar(20);
- 添加字段
ALTER TABLE 表名 ADD 要添加的字段名 数据类型 [约束条件];
ALTER TABLE user_stu ADD addr varchar(40);
- 修改字段排序
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2;
注意
字段名1 指的是修改位置的字段,数据类型指的是字段名1的数据类型
FIRST 指的是将该字段移到最前面
AFTER 可以将字段名1移到字段2后面
/*将字段移到最前面*/
ALTER TABLE user_stu modify grade float first;
ALTER TABLE user_stu modify _name_ varchar(20) AFTER id;
/*将前一个字段移到后一个字段后*/
ALTER TABLE user_stu modify grade float AFTER _name_;
- 删除表或者字段
- 删除字段
ALTER TABLE 表名 DROP 字段名;
ALTER TABLE user_stu DROP addr;
- 删除表
DROP TABLE 表名;
DROP TABLE user_stu;