加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_运城站长网 (https://www.0359zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL最基本的创建和管理表使用

发布时间:2022-11-25 13:00:57 所属栏目:MySql教程 来源:
导读:  MYSQL最基本的创建和管理表使用 1. 基础知识 1) 标识符命名规则 2) MySQL中的数据类型 类型数据变量

  整数类型

  TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT

  浮点类型

  
  MYSQL最基本的创建和管理表使用 1. 基础知识 1) 标识符命名规则 2) MySQL中的数据类型 类型数据变量
 
  整数类型
 
  TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT
 
  浮点类型
 
  FLOAT、DOUBLE
 
  定点数类型
 
  DECIMAL
 
  位类型
 
  BIT
 
  日期时间类型
 
  YEAR、TIME、DATE、DATETIME、TIMESTAMP
 
  文本字符串类型
 
  CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
 
  枚举类型
 
  ENUM
 
  集合类型
 
  SET
 
  二进制字符串类型
 
  BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
 
  JSON类型
 
  JSON对象、JSON数组
 
  空间数据类型
 
  单值:GEOMETRY、POINT、LINESTRING、POLYGON; 集合:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、 GEOMETRYCOLLECTION
 
  其中,常用的几类类型介绍如下:
 
  数据类型描述
 
  INT
 
  从-231到231-1的整型数据。存储大小为 4个字节
 
  CHAR(size)
 
  FLOAT、DOUBLE
 
  VARCHAR(size)
 
  DECIMAL
 
  FLOAT(M,D)
 
  BIT
 
  DOUBLE(M,D)
 
  YEAR、TIME、DATE、DATETIME、TIMESTAMP
 
  DECIMAL(M,D)
 
  CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
 
  DATE
 
  ENUM
 
  BLOB
 
  SET
 
  TEXT
 
  BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
 
  2. 创建和管理数据库 1) 创建数据库
 
  如果MySQL中已经存在相关的数据库,则忽略创建语句,不再创建数据库。
 
  注意:DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删 旧库完成的。
 
  2) 使用数据库
 
  注意:要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上“数 据库名.”。
 
  3) 修改数据库 3. 创建表 1) 创建方式1
 
  CREATE TABLE [IF NOT EXISTS] 表名(
  字段1, 数据类型 [约束条件] [默认值],
  字段2, 数据类型 [约束条件] [默认值],
  字段3, 数据类型 [约束条件] [默认值],
  ……
  [表约束条件]
  );
  加上了IF NOT EXISTS关键字,则表示:如果当前数据库中不存在要创建的数据表,则创建数据表; 如果当前数据库中已经存在要创建的数据表,则忽略建表语句,不再创建数据表。
 
  2) 创建方式2
 
  CREATE TABLE 表名
   [(column, column, ...)]
  AS subquery;
  CREATE TABLE dept80
  AS
  SELECT employee_id, last_name, salary*12 ANNSAL, hire_date
  FROM employees
  WHERE department_id = 80;
  3) 查看数据表结构
 
  在MySQL中创建好数据表之后,可以查看数据表的结构。MySQL支持使用 DESCRIBE/DESC 语句查看数据 表结构,也支持使用 SHOW CREATE TABLE 语句查看数据表结构。
 
  语法格式如下:
 
  SHOW CREATE TABLE 表名\G
  使用SHOW CREATE TABLE语句不仅可以查看表创建时的详细语句,还可以查看存储引擎和字符编码。
 
  4. 修改表
 
  修改表指的是修改数据库中已经存在的数据表的结构。
 
  使用 ALTER TABLE 语句可以实现:
 
  1) 追加一个列
 
  语法格式如下:
 
  ALTER TABLE 表名 ADD 【COLUMN】 字段名 字段类型 【FIRST|AFTER 字段名】;
  举例:
 
  ALTER TABLE dept80
  ADD job_id varchar(15);
  2) 修改一个列
 
  ALTER TABLE 表名 MODIFY 【COLUMN】 字段名1 字段类型 【DEFAULT 默认值】【FIRST|AFTER 字段名2】;
  ALTER TABLE dept80
  MODIFY salary double(9,2) default 1000;
  3) 重命名一个列
 
  使用 CHANGE old_column new_column dataType子句重命名列。语法格式如下:
 
  ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新数据类型;
  举例:
 
  ALTER TABLE dept80
  CHANGE department_name dept_name varchar(15);
  4) 删除一个列
 
  删除表中某个字段的语法格式如下:
 
  ALTER TABLE 表名 DROP 【COLUMN】字段名
  5) 更改表名
 
  RENAME TABLE emp
  TO myemp;
  ALTER table dept
  RENAME [TO] detail_dept; -- [TO]可以省略
  5. 删除表
 
  DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n];
  IF EXISTS 的含义为:如果当前数据库中存在相应的数据表,则删除数据表;如果当前数据库中不存 在相应的数据表,则忽略删除语句,不再执行删除数据表的操作。
 
  举例:
 
  DROP TABLE dept80;
  6. 清空表 举例:
 
  TRUNCATE TABLE detail_dept;
  阿里开发规范: 【参考】TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但 TRUNCATE 无 事务且不触发 TRIGGER,有可能造成事故,故不建议在开发代码中使用此语句。 说明:TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。
 
  7. 内容扩展 拓展1:阿里巴巴《Java开发手册》之MySQL字段命名
 

(编辑:开发网_运城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!