SQL语句2(MySQL)——DDL操作数据库、操作表

DDL

操作数据库

SHOW DATABASE;//查询
CREATE DATABASE 数据库名称;//创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名称;//判断,如果不存在则创建
DROP DATABASE 数据库名称;//删除数据库
DROP DATABASE IF EXISTS 数据库名称;//判断,如果存在则删除
SELECT DATABASE();//查看当前使用的数据库
USE 数据库名称;//使用数据库

操作表

创建

DROP TABLE IF EXISTS passenger_info;
CREATE TABLE passenger_info ( #哈哈这里表名不小心打错了,下面修改语句里正好说明
  id int(11) NOT NULL AUTO_INCREMENT,
  p_date date NOT NULL COMMENT '申请日期',
  h_group varchar(20) NOT NULL COMMENT '组团',
  room_id varchar(20) NOT NULL COMMENT '房间号',
  name varchar(20) NOT NULL COMMENT '姓名',
  sex varchar(20) NOT NULL COMMENT '性别',
  card_id varchar(20) DEFAULT NULL COMMENT '身份证号',
  passport varchar(20) DEFAULT NULL COMMENT '护照号',
  tel varchar(20) NOT NULL COMMENT '电话',
  s_address varchar(50) NOT NULL COMMENT '始发地',
  d_address varchar(50) NOT NULL COMMENT '目的地',
  allergen int(11) DEFAULT NULL COMMENT '是否有过敏物',
  c_illness int(11)DEFAULT NULL COMMENT '是否有慢性病史',
  medicine int(11) DEFAULT NULL COMMENT '是否在服用药物',
  vaccine int(11) DEFAULT NULL COMMENT '是否有接种疫苗',
  v_num int(11) DEFAULT NULL COMMENT '填写针数',
  other text DEFAULT NULL COMMENT '其他',
  commitment_p LONGBLOB DEFAULT NULL COMMENT '隔离承诺书',
  notification_p LONGBLOB DEFAULT NULL COMMENT '隔离告知书',
  PRIMARY KEY (id)
);
#外键
DROP TABLE IF EXISTS temperature_info;
CREATE TABLE temperature_info (
  id int(11) NOT NULL AUTO_INCREMENT,
  passenger_id int(11) NOT NULL COMMENT '入住人员信息',
  nc_test varchar(20) DEFAULT NULL COMMENT '核酸检测结果',
  am_tem double NOT NULL COMMENT '上午体温',
  pm_tem double NOT NULL COMMENT '下午体温',
  tem_date date NOT NULL COMMENT '日期',
  other text DEFAULT NULL COMMENT '其他',
  PRIMARY KEY (id),
  constraint fk_tp_id foreign key (passenger_id) references passengee_info(id)
);

修改

#修改表名
rename table passengee_info to passenger_info;

#修改字段COMMENT
alter table passenger_info modify p_date date NOT NULL COMMENT '申请日期';

#修改字段数据类型
alter table passenger_info modify commitment_p varchar(400) DEFAULT NULL COMMENT '隔离承诺书';
alter table passenger_info modify notification_p varchar(400) DEFAULT NULL COMMENT '隔离告知书';

#删除列
alter table passenger_info drop column traffic;

#增添新字段
#不加after,新加的列就在表的最后一列
#加after则可以调整新列的位置,after是让新加的列在哪一列的后面。
alter table passenger_info add column traffic varchar(50) DEFAULT NULL COMMENT '航班号' after room_id;
alter table passenger_info add column height varchar(50) DEFAULT NULL COMMENT '身高' after sex;
alter table passenger_info add column weight varchar(50) DEFAULT NULL COMMENT '体重' after height ;
alter table passenger_info add column temperature varchar(50) DEFAULT NULL COMMENT '体温' after weight ;
alter table passenger_info add column blood_pressure varchar(50) DEFAULT NULL COMMENT '血压' after temperature ;
alter table passenger_info add column pulse varchar(50) DEFAULT NULL COMMENT '脉搏' after blood_pressure ;
alter table passenger_info add column dail text DEFAULT NULL COMMENT '始发地目的地详细说明' after d_address;
alter table passenger_info add column now_allergen text DEFAULT NULL COMMENT '过敏物说明' after allergen;
alter table passenger_info add column now_illness text DEFAULT NULL COMMENT '慢性病史说明' after c_illness;
alter table passenger_info add column now_medicine text DEFAULT NULL COMMENT '服用药物说明' after medicine;
alter table passenger_info add column live_date datetime DEFAULT NULL COMMENT '入住时间' after other;
alter table passenger_info add column leave_date datetime DEFAULT NULL COMMENT '离开时间' after live_date;
#用一条语句写
alter table passenger_info 
add column traffic varchar(50) DEFAULT NULL COMMENT '航班号' after room_id,
add column height varchar(50) DEFAULT NULL COMMENT '身高' after sex,
add column weight varchar(50) DEFAULT NULL COMMENT '体重' after height,
add column temperature varchar(50) DEFAULT NULL COMMENT '体温' after weight,
add column blood_pressure varchar(50) DEFAULT NULL COMMENT '血压' after temperature,
add column pulse varchar(50) DEFAULT NULL COMMENT '脉搏' after blood_pressure ;

设置向mysql表中插入/更新数据时自动添加创建时间/更新时间

ALTER TABLE t_type MODIFY COLUMN create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间';
ALTER TABLE t_type MODIFY COLUMN update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间';

查询

很有意思的一个操作:在与数据库的连接里查询某个库的某个表的字段
table_name是表名,TABLE_schema是数据库名

select COLUMN_NAME as columnName,COLUMN_COMMENT as columnComment,DATA_TYPE as dataType,COLUMN_TYPE columnType,( CASE IS_NULLABLE WHEN 'YES' THEN true ELSE false END ) isNullable,( CASE COLUMN_KEY WHEN 'PRI' THEN true ELSE false END ) isKey  from  information_schema.COLUMNS where table_name = 'app_page'  AND TABLE_schema = 'lowcode'

在这里插入图片描述

删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值