创建数据库

  1. CREATE DATABASE 数据库名称 ;

查看数据库(显示数据库名列表)

  1. SHOW DATABASES ;

查看某数据库信息(显示创建的信息)

  1. SHOW CREATE DATABASE 数据库名称

修改数据库编码

  1. ALTER DATABASE 数据库名称
  2. DEFAULT CHARACTER SET 编码方式 COLLATE 编码方式_bin ;

删除数据库

  1. DROP DATABASE 数据库名称 ;
数据类型 字节数 无符号数取值范围 有符号数取值范围
TINYINT 1 0~255 -128~127
SAMLLINT 2 0~65535 -32768~32767
MEDIUMINT 3 0~16777215 -8388608~8388607
INT 4 0~4294967295 -2147483648~2147483647
BIGINT 5 0~18446744073709551615 -9223372036854775808~9223372036854775807

单精度浮点数类型FLOAT,4字节;
双精度浮点类型DOUBLE,8字节;
定点数类型DECIMAL(D,B),M+2字节,M表示数据的长度,D表示小数点后的长度。

数据类型 字节数 取值范围 日期格式 零值 补充
YEAR 1 1901~2155 YYYY 0000 字符串格式\’0\’表示2000,数字格式0表示0000
DATE 4 1000-01-01 YYYY-MM-DD 0000-00-00 使用CURRENT_DATE或者NOW()表示当前系统日期
TIME 3 -838:59:59~838:59:59 HH:MM:SS 00:00:00 可以输如\’D HH:MM:SS\’字符串,D表示0~34之间的值,相当于D*24+HH .使用CURRENT_DATE或者NOW()表示当前系统日期
DATETIME 8 1000-01-01 00:00:00~9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 0000-00-00 00:00:00 使用NOW()表示当前系统日期
TIMESTAMP 4 1970-01-01 00:00:01~2038-01-19 03:14:07 YYYY-MM-DD HH:MM:SS 0000-00-00 00:00:00 使用CURRENT_TIMESTAMP来输入当前系统日期;输入NULL时系统会输入系统当前日期和时间;无任何输入时,系统会输入系统当前日期和时间。
数据类型 类型说明 补充
CHAR 用于表示固定长度的字符串
VARCHAR 用于表示可变长度的字符串
BINARY 用于表示固定长度的二进制数据
VARBINARY 用于表示固定长度的二进制数据
BLOB 用于表示二进制大数据
TEXT 用于表示大文本数据
ENUM 表示枚举类型,只能存储一个枚举字符串值
SET 表示字符串对象,可以有零或多个值
BIT 表示位字段类型

选择数据库

  1. USE 数据库名 ;

创建数据表

  1. CREATE TABLE 数据表名
  2. (
  3. 字段名1 数据类型[完整性约束条件] ,
  4. 字段名2 数据类型[完整性约束条件] ,
  5. ...
  6. 字段名n 数据类型[完整性约束条件]
  7. ) ;

查看此数据库下的表(显示表名列表)

  1. SHOW TABLES ;

查看数据表(显示定义语句,字符编码)

  1. SHOW CREATE TABLE 表名 ;

整齐的查看数据表(显示定义语句,字符编码)

  1. SHOW CREATE TABLE 表名\G

查看数据表(显示字段信息)

  1. DESCRIBE 表名 ;

或简写为:

  1. DESC 表名 ;

执行结果如下:

  1. +----------+-------------+------+-----+---------+-------+
  2. | Field | Type | Null | Key | Default | Extra |
  3. +----------+-------------+------+-----+---------+-------+
  4. | id | int(20) | YES | | NULL | |
  5. | grade | float | YES | | NULL | |
  6. | username | varchar(10) | YES | | NULL | |
  7. +----------+-------------+------+-----+---------+-------+
  8. 3 rows in set (0.00 sec)

(1).NULL:表示该列是否可以存储NULL值;
(2).Key:表示该列是否已经编制索引;
(3).Default:表示该列是否有默认值;
(4).Extra:表示获取到的与给定列相关的附加信息。
修改表名(to可以省略)

  1. ALTER TABLE 旧表名
  2. RENAME [To] 新表名 ;

修改字段名

  1. ALTER TABLE 表名
  2. CHANGE 旧字段名 新字段名 新数据类型 ;

修改字段的数据类型

  1. ALTER TABLE 表名
  2. MODIFY 字段名 数据类型 ;

添加字段

  1. ALTER TABLE 表名
  2. ADD 新字段名 数据类型
  3. [约束条件][FIRST | AFTER 已存在字段名]

上述格式中,“FIRST”为可选参数,用于将新加字段设为第一个字段,“AFTER”也为可选参数,用于将新加字段添加到指定“已存在字段名”的后面。
修改字段的排列位置
修改为第一个字段:

  1. ALTER TABLE 表名
  2. MODIFY 字段名1 数据类型 FIRST;

将字段名1插入到字段名2之后:

  1. ALTER TABLE 表名
  2. MODIFY 字段名1 数据类型 AFTER 字段名2 ;

删除字段

  1. ALTER TABLE 表名
  2. DROP 字段名 ;

删除数据表

  1. DROP TABLE 表名 ;
约束条件 说明
PRIMARY KEY 主键约束,用于唯一标识对应的记录
FOREIGN KEY 外键约束
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT 默认值约束,用于设置字段的默认值
AUTO_INCREMENT 字段值自动增加
举个例子:
id为主键且值自动增加,name字段值唯一,grade字段默认值为0。
  1. CREATE TABLE TB_GRADE
  2. (
  3. id INT(10) PRIMARY KEY AUTO_INCREMENT,
  4. name VARCHAR(20) UNIQUE,
  5. grade FLOAT DEFAULT 0
  6. );
  1. CREATE TABLE 表名
  2. (
  3. 字段名 数据类型[完整性约束条件] ,
  4. 字段名 数据类型[完整性约束条件] ,
  5. ...
  6. 字段名 数据类型[完整性约束条件] ,
  7. [ UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY
  8. [ 别名 ] (字段名1 [ (长度)] [ ASC | DESC] )
  9. ) ;

上述相关语法解释:
(1)UNIQUE:可选参数,表示唯一索引。
(2)FULLTEXT:可选参数,表示全文索引。
(3)SPATIAL:可选参数,表示空间索引。
(4)INDEX和KEY:用来表示字段的索引,二者选一即可。
(5)别名:可选参数,表示创建的索引名称。
(6)字段名1:指定索引对应字段的名称(创建多列索引时,用逗号隔开)。
(7)长度:可选参数,用于表示索引的长度。
(8)ASC和DESC:可选参数,ASC代表升序排列,DESC代表降序排列。

方法一:

  1. CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名
  2. ON 表名 (字段名1 [ (长度)] [ ASC | DESC] )

方法二:

  1. ALTER TABLE 表名
  2. ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名 (字段名1 [ (长度)] [ ASC | DESC] )

方法一:

  1. ALTER TABLE 表名
  2. DROP INDEX 索引名 ;

方法二:

  1. DROP INDEX 索引名
  2. ON 表名 ;

版权声明:本文为xiaochen2715原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaochen2715/p/13174675.html