深色模式
SQL 常用
初始化数据库
随机生成一个密码,可以参考openssl工具。
sql
# 创建库
create database if not exists db_name;
# 创建用户
create user if not exists db_user identified by 'fB9LZfMphm1uGmgK';
# 授权
grant all on db_name.* to db_user@'%' WITH GRANT OPTION;
对于MySQL5.7:
sql
# 创建库
create database if not exists db_name default character set utf8mb4 collate utf8mb4_general_ci;
# 创建用户
create user if not exists db_user identified by 'fB9LZfMphm1uGmgK';
# 授权
grant all privileges on db_name.* to db_user@'%' identified by 'fB9LZfMphm1uGmgK';
维护表
表
创建表:
sql
create table if not exists `test_table`
(
`id` bigint unsigned not null auto_increment,
`created_at` datetime not null default now(),
`updated_at` datetime not null default now(),
primary key (`id`)
) engine = InnoDB
auto_increment = 1
comment '图片';
修改表名:
sql
alter table `pic` rename to `pics`;
修改表注释:
sql
alter table `pci` comment '图片';
列
增加列:
sql
alter table `test_table`
add `column1` char(50) not null default '' comment 'comment1';
增加列、指定位置:
sql
alter table `test_table`
add `column1` char(50) not null default '' comment 'comment1' after `id`;
删除列:
sql
alter table `test_table`
drop `column1`;
修改列名、列属性:
sql
alter table `test_table`
change `column1` `column2` char(50) not null default '' comment 'comment1';
修改列名、列属性、列位置:
sql
alter table `test_table`
change `column1` `column2` char(50) not null default '' comment 'comment1' first;
alter table `test_table`
change `column1` `column2` char(50) not null default '' comment 'comment1' after `created_at`;
修改列属性:
sql
alter table `test_table`
modify `column2` char(50) not null default '' comment 'comment1';
修改列属性、列位置:
sql
alter table `test_table`
modify `column2` char(50) not null default '' comment 'comment1' after `id`;
修改列位置:
sql
alter table `pic` modify `pic_name` char(100) first;
alter table `pic` modify `pic_name` char(100) after `id`;
外键
删除外键:
sql
alter table `pic` drop foreign key `pic_ibfk_1`;
增加外键:
sql
alter table `pic` add foreign key (`label_id`) references `label` (`id`);