MySQL数据库、数据表操作

数据库操作

查看数据库

1
2
3
4
show databases [like 'databalse_name'];
-- 举例
show databases like 'mydb'; -- 查看与mydb匹配的数据库
show database like '%test%'; -- 查看名字中有test的数据库

创建、修改、删除数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
create database [if not exists] <databasename> 
[[default] character set <字符集>]
[[default] collate <校对规则>];

-- 举例
1. 创建mydb数据库
create database mydb;
2. 如果数据库mydb不存在,创建mydb数据库
create database if not exists mydb;
3. 创建mydb并指定字符集和校对规则
create database if not exist mydb
default character set utf8
default collate utf8_chinese_ci;
  • if not exists 在创建之前进行判断,如果没有才执行操作

  • 修改数据库

    1
    2
    3
    alter database <databasename> {
    [default] character set <字符集> |
    [default] collate <校对规则>};
  • 删除数据库

    1
    drop database [if exists] <databasename>;

选择数据库

1
use <databasename>;

数据表操作

创建数据表

1
2
3
4
5
6
7
8
9
10
11
create table [if not exists] <tablename>
([表定义选项][表选项][分区选项]);

-- 举例
create table if not exists wb_list(
mid int not null auto_increment, -- 自增id
content varchar(255),
dates date,
likeNum int NOT NULL DEFAULT 0, -- 自动补0
primary key(mid)
);

修改数据表

1
alter table <tablename>[选项];
  • 选项包括如下字段

    1
    2
    3
    4
    5
    6
    7
    8
    { ADD COLUMN <列名> <类型>
    | CHANGE COLUMN <旧列名> <新列名> <新列类型>
    | ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
    | MODIFY COLUMN <列名> <类型>
    | DROP COLUMN <列名>
    | RENAME TO <新表名>
    | CHARACTER SET <字符集名>
    | COLLATE <校对规则名> }
  • 修改表名

    1
    alter table <old_tablename> rename to <new_tablename>;
  • 修改名称及数据类型

    1
    2
    3
    4
    alter table <tablename> change <旧字段> <新字段> <数据类型>;
    -- 举例
    alter table wb_list
    change content contentText varchar(255);
  • 删除字段

    1
    alter table <tablename> drop <字段名>;

删除数据表

1
drop table [if exists] <tablename>[,table2,table3];
  • 执行操作的用户需要有drop table权限

  • 表被删除后,用户在表上的权限不被删除

  • 如果要删除被其他表关联的主表时,需要先解除此表和子表的外键约束,再删除此表

    1
    alter table <子表name> drop foreign key <外键名称>;

查看表结构

  • 以表格显示表结构

    1
    2
    describe <tablename>;
    desc <tablename>;
  • 以sql语句的形式显示表结构

    1
    show create trable <tablename>;

添加字段

  • 在末尾添加字段

    1
    alter table <talblename> add <字段名> <数据类型>[约束条件];
  • 在开头添加字段

    1
    alter table <talblename> add <字段名> <数据类型>[约束条件] first;
  • 在中间添加字段(某字段名后)

    1
    alter table <talblename> add <字段名> <数据类型>[约束条件] after <某字段名>;