文章目录
数据类型数值类型字符串类型日期/时间类型常用命令一览库的操作显示当前数据库创建数据库使用数据库删除数据库表的操作创建表显示当前库中所有表查看表结构删除表数据类型
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 testDatabase 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)