美文网首页
库与表的操作

库与表的操作

作者: Yazh | 来源:发表于2021-01-04 17:32 被阅读0次

一、数据库相关操作

SELECT VERSION(); -- 查看版本
SELECT USER(); -- 查看当前用户
SHOW DATABASES; -- 查看所有库
USE world; -- 使用 world 库
SELECT DATABASE(); -- 查看当前库
SHOW TABLES; -- 查看当前数据库下所有的表
CREATE DATABASE[IF NOT EXISTS] world; -- 创建库
DROP DATABASE [IF EXISTS] world; -- 删除库

二、数据表相关操作

数据表 table : 数据库中表名唯一,由一个或多个列(column)组成,表中数据按行存储。

DESC table_name;  -- 查看表的数据类型
SHOW COLUMNS FROM table_name;

1. 创建表

CREATE TABLE [IF NOT EXISTS] tablename 
(字段名   字段类型            【字段约束】
id          int              NOT NULL AUTO_INCREMENT,
col1        int              NOT NULL DEFAULT 1,
col2      CHAR(20)           NULL,
PRIMARY KEY(id) );
  1. AUTO_INCREMENT: 每个表只允许一个AUTO_INCREMENT列,而且必须被索引
  2. 使用INSERT增加一行时,该列自动增量
  3. IF NOT EXISTS:用以判断当前数据库是否存在同名表

1. 常见约束

  1. NOT NULL 非空:用于限制该字段为必填项
  2. DEFAULT 默认:用于限制该字段没有显式插入值,则直接显式默认值
  3. PRIMARY KEY 用于限制该字段值不能重复,设置为主键列的字段默认不能为空【一个表只能有一个主键,当然可以是组合主键】
  4. UNIQUE 唯一:用于限制该字段值不能重复
  5. CHECK 检查:用于限制该字段值必须满足指定条件
    CHECK(age BETWEEN 1 AND 100)
  6. FOREIGN KEY 外键:用于限制两个表的关系,要求外键列的值必须来自于主表的关联列
    要求:
    ①主表的关联列和从表的关联列的类型必须一致,意思一样,名称无要求
    ②主表的关联列要求必须是主键
CONSTRAINT <约束名> FOREIGN KEY <字段名> REFERENCES <表名>(列名)

2. 数据类型

  1. 整型
    TYNYINT
    SMALLINT
    INT
    BIGINT
  2. 浮点型
    FLOAT(m, n)
    DOUBLE(m, n)
    DECIMAL(m, n)
    m 和 n 可选
  3. 字符型
    CHAR CHAR(n): n 可选
    VARCHAR(n): n 必选,n表示最多字符个数
    TEXT
  4. 日期型
    DATE
    TIME
    DATETIME
    TIMESTAMP
  5. BLOB
    存储图片数据

2. 插入数据

Mysql并不关心列的名字,仅关心列的位置,只要顺序对应就可以

INSERT INTO table1 (col1, col2, col3) 
VALUES(value1, value2, value3); -- 插入完整的行

INSERT INTO table1(col1, col2, col3)
VALUES(value1, value2, value3), (value1_, value2_, value3_); -- 插入多行

INSERT INTO table1(col1, col2, col3) 
SELECT col1, col2, col3 FROM table1; -- 插入检索数据

3. 更新表

尽量避免使用ALTER TABLE,在更改之前先对数据进行一次备份

ALTER TABLE stuinfo RENAME TO students; -- 修改表名
ALTER TABLE students ADD COLUMN borndate TIMESTAMP NOT NULL; -- 添加字段
ALTER TABLE students CHANGE COLUMN borndate birthday DATETIME NULL; -- 修改字段名
ALTER TABLE students MODIFY COLUMN birthday TIMESTAMP ; -- 修改字段类型
ALTER TABLE students DROP COLUMN birthday; -- 删除字段 

ALTER TABLE students ADD CONSTRAINT <约束名> FOREIGN KEY <字段名> REFERENCES <表名>(列名) 
ALTER TABLE students ADD PRIMARY KEY(字段名) -- 添加约束

4. 复制表

CREATE TABLE newTable2 LIKE major; -- 仅表结构 
CREATE TABLE newTable3 SELECT * FROM girls.`beauty`; -- 表结构与数据

5. 删除表

DROP TABLE [IF EXISTS] table1;

6. 更新与删除数据

不要省略WHERE字段!
否则会更新表中全部的值!

UPDATE table1 SET col1 = value1, col2= value2 WHERE condition -- 更新数据

DELETE FROM table1 WHERE condition -- 删除数据

相关文章

  • Q语言——表的高级查询语言(一)

    前言 Q的表的基本操作与传统数据库的表的操作非常的相似,同时Q的表的操作还有一些传统数据库不具有的高级操作。但是可...

  • 库与表的操作

    一、数据库相关操作 二、数据表相关操作 数据表 table : 数据库中表名唯一,由一个或多个列(column)组...

  • Hive DDL

    Hive 库操作 创建数据库 删除数据库 修改数据库信息 数据库信息 Hive 表操作 内部表又称管理表。 Hiv...

  • 数据库、表、字段操作速览

    6.1 数据库操作 创建数据库 查看数据库 选中数据库 查看数据库中的表 删除数据库 6.2 数据表操作 创建表 ...

  • 黑猴子的家:mysql DDL 库和表的管理

    DDL数据定义语言 1、库的操作 (1)显示数据库 (2)创建库 (3)删除库 2、表的操作 (1)创建表 案例:...

  • mysql 库 与 表 的操作

    创建数据库 create database if not exists test default charset ...

  • 数据库第一周

    mysql的命令和查询语句: 登陆系统 数据库的操作 如何创建表 关于表的操作: DML:数据库操作语言:对于表中...

  • 企业权限管理系统知识 day05 用户登录相关操作

    一、 SSM权限操作 1.1 数据库与表结构 1.1.1 用户表 1.1.1.1 用户表信息描述users 1.1...

  • SQL之DDL

    DDL是用于操作数据库以及表结构的语句 数据库操作 数据类型 表操作 一.数据库操作 查看所有数据库:SHOW D...

  • MySQL

    这篇文章主要介绍MySQL的一些操作性的知识。 数据库的操作 创建数据库 删除数据库 表的操作 创建表 修改表 添...

网友评论

      本文标题:库与表的操作

      本文链接:https://www.haomeiwen.com/subject/rbmvoktx.html