Mysql相关操作

184 阅读2分钟

不要为了读写章而写文章,要弄懂其原理。(对自己的一个提醒)。 阅读本文章需10分钟。

数据库相关操作

创建数据库

//"[]"里面的可写可不写

CREATE [DATABASE|SCHEMA] db_name;

  • 检测数据库是否存在,不存在这创建

CREATE DATABASE [IF NOT EXISTS] db_name;

  • 检查数据是否存在 CREATE DATABASE[IF NOT EXISTS]db_name [DEFAULT]CHARACTER CHAR SET=charse;

注意

*数据名称要有意义 *数据库名称不能包含特殊字符和MYSQL关键字

查看当前服务器下所有数据库

SHOW DATABASES|SCHEMAS;

查询数据库详细信息

SHOW CREDATE DATABASE db_name;

修改数据库编码方式

ALTER DATABASE db_name [DEFAULT] CHARCATER SET[=]charset;

使用当前数据库

USE db_name;

得到当前数据库

SELECT DATABASE()|SCHEMA();

删除数据库

DROP DATABASE db_name;

删除如果存在的数据库

DROP DATABSE [IF EXISTS] db_name;

数据表相关操作

数据表

  • 数据库是由数据表组成的,数据都是存放在数据表中的。
  • 数据表是由行(row)和列(column)组成。
  • 数据表使用一列,行由>=0组成。
  • 数据表名是保证唯一性,不能包含特殊字符,取名要明确意思。

创建表

CREATE DATABSE [IF NOT EXISTS] tb_name(
字段名 字段类型[完整约束条件],
字段名 字段类型 [完整约束条件],
.....
)ENGINE=储存引擎 CHARSET=编码方式;
  • UNSIGEND 无符号,无负数,从0开始
  • ZEROFILL 零填充,当前数据显示不够长时可以用0填充到指定长度,字段会自动添加UNSIGND.
  • NOT NULL非空约束字段插入值的时候字段必须给一个值,字段不能为空
  • DEFAULT 默认值,如果插入字段没有赋值,则是默认值
  • PRIMARY KEY主键,表示记录唯一性,值不能重复,一个表只有一个主键,自动禁止为空。
  • ATUO_INCREMENT 自动增长,适用与数值列,配合索引使用,默认从1开始,每次增长为1。
  • UNIQUE_KEY 一个表中可以有多个唯一索引。但是值不能重复,当是NULL值除外。
  • FOREIGN KEY 外键约束。

查询单前数据库

  • SHOW TABLES;
  • SHOW [FULL] TABLES [{FROM|IN}db_name][LIKE'Parttern|WHERE expl]

查看指定表的详细信息

  • SHOW CREATE TABLE db_name;

查看表结构

  • DESC tb_name;
  • DESCRIBE tb_name;
  • SHOW COLUMMS FROM tb_name;

删除指定数据表

DROP TABLE [IF EXISTS] tb_name;

数据表相关操作

添加字段

ALTER TABLE  tb_name ADD 字段名 字段属性 [完整约束条件] [After|First字段名称]

删除字段

ALTER TABLE tb_name  DROP 字段名

添加默认值

ALTER TABLE tb_name ALTER 字段名  SET DEFAULT 默认值

删除默认值

ALTER TABLE tb_name ALTER 字段名 DROP DEFAULT 默认值

修改字段名,字段属性,字段类型

ALTER TABLE tb_name CHANGE 原字段名称 新字段名称 字段类型 字段属性[FIRST|AFTER字段名]

添加主键

ALTER TABLE tb_name ADD PRIMARY KEY(字段名);

删除主键

ALTER TABLE tb_name DROP PRIMARY KEY;

添加唯一键

ALTER TABLE tb_name ADD UNIQUE KEY|INDEX [index_name](字段名);

删除唯一键

ALTER TABLE tb_name DROP index_name;

修改数据表名称

ALTER TABLE tb_name RENAME [TO|AS] new_tb_name;
RENAME TABLE tb_name TO new_tb_name;

修改AUTO_INCRMENT值

ALTER TABLE tb_name AUTO_INCREMNT =值;