文章目录
- 数据类型
- 数值类型
- 字符串类型
- 日期/时间类型
- 常用命令一览
- 库的操作
- 显示当前数据库
- 创建数据库
- 使用数据库
- 删除数据库
- 表的操作
- 创建表
- 显示当前库中所有表
- 查看表结构
- 删除表
数据类型
mysql
的数据类型主要分为 数值类型、日期/时间类型、字符串类型 三种。
数值类型
数值类型可以指定为 无符号(unsigned)
,表示不取负数。 1字节(bytes)= 8bit
。 对于整型类型的范围:
- 有符号范围: -2(类型字节数*8-1) 到 2(类型字节数*8-1)-1,如
int
是4字节
,就是 -231 到 231-1 。 - 无符号范围: 0 到 2(类型字节数*8)-1,如
int
就是 232-1 。尽量不使用unsigned
,对于int类型
可能存放不下的数据,int unsigned
同样可能存放不下,与其如此,还不如设计时,将int
类型提升为bigint
类型。
字符串类型
日期/时间类型
常用命令一览
SELECT 从数据库中提取数据
UPDATE 更新数据库中的数据
DELETE 从数据库中删除数据
INSERT INTO 将新数据插入数据库
CREATE DATABASE 创建一个新的数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建一个新表
ALTER TABLE 修改表
DROP TABLE 删除表
CREATE INDEX 创建索引(搜索键)
DROP INDEX 删除索引
库的操作
显示当前数据库
语法
SHOW DATABASES;
示例
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
6 rows in set (0.00 sec)
创建数据库
语法
CREATE DATABASE [IF NOT EXISTS] [数据库名];
//数据库名只能是数字、字母、下划线,IF NOT EXISTS为可选选项,如果数据库存在则不再创建
示例
mysql> CREATE DATABASE IF NOT EXISTS Test;
Query OK, 1 row affected (0.00 sec)mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| test |
| world |
+--------------------+
7 rows in set (0.00 sec)
使用数据库
语法
USE [数据库名];
示例
mysql> USE test
Database changed
删除数据库
语法
DROP DATABASE [IF EXISTS] [数据库名];
示例
mysql> DROP DATABASE IF EXISTS test;
Query OK, 0 rows affected (0.01 sec)mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
6 rows in set (0.00 sec)
表的操作
创建表
语法
CREATE TABLE [IF NOT EXISTS] [表名] ([数据名] [数据类型],[数据名] [数据类型],[数据名] [数据类型]
);
示例
mysql> CREATE TABLE book(-> name varchar(10),-> price decimal,-> publish date,-> num int-> );
Query OK, 0 rows affected (0.03 sec)
显示当前库中所有表
语法
SHOW TABLES;
示例
mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| book |
+----------------+
1 row in set (0.00 sec)
查看表结构
语法
DESC [数据库名];
// DESCRIBE 是等价于 SHOW COLUMNS FROM 的一种快捷方式
示例
mysql> DESC book;
+---------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| name | varchar(10) | YES | | NULL | |
| price | decimal(10,0) | YES | | NULL | |
| publish | date | YES | | NULL | |
| num | int | YES | | NULL | |
+---------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
删除表
语法
DROP TABLE [IF EXISTS] [数据库名];
示例
mysql> DROP TABLE IF EXISTS book;
Query OK, 0 rows affected (0.01 sec)mysql> SHOW TABLES;
Empty set (0.00 sec)