栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySql day01 create table alter table

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySql day01 create table alter table

–window shell 解决中文乱码问题
chcp 65001

–删除数据库
drop database bd17Day02;

–创建数据库bd17Day02并设置该数据库使用字符集为utf8
create database bd17Day02 default character set utf8;

–显示所有库
show databases;

–查看数据库bd17Day02创建详细过程
show create database bd17Day02;

–使用bd17Day02;
use bd17Day02;

–查看当前使用的库名称
select database();

–创建表
CREATE TABLE tb_stu (
id int(11) DEFAULT NULL COMMENT ‘编号’,
name varchar(50) DEFAULT NULL COMMENT ‘姓名’,
gender int(1) DEFAULT NULL COMMENT ‘性别 1代表男 2代表女’
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

–显示当前库所有的表
show tables;

–查看创建详细过程
show create table tb_stu;

–删除数据表
drop table tb_stu;

–查看表结构
describe tb_stu;

–插入数据
insert into tb_stu (id,name,gender) values (1,“李昊哲”,1),(2,“李爽”,2);
insert into tb_stu (id,gender) values (3,1),(4,2);
–查看表的所有数据
select * from tb_stu;

–约束

–默认约束DEFAULT
create table tb_login (
id int(11) DEFAULT NULL COMMENT ‘编号’,
account varchar(50) DEFAULT NULL COMMENT ‘账号’,
password varchar(50) DEFAULT ‘123456’ COMMENT ‘密码’
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into tb_login (id,account,password) value (1,‘admin’,‘admin’);
insert into tb_login (id,account) value (2,‘lhz’);
select * from tb_login;

–非空约束NOT NULL
–如果表存在则删除该表
drop table if exists tb_login;
create table tb_login (
id int(11) NULL COMMENT ‘编号’,
account varchar(50) NULL COMMENT ‘账号’,
password varchar(50) NULL DEFAULT ‘123456’ COMMENT ‘密码’,
id_card varchar(50) NOT NULL COMMENT ‘身份证’
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into tb_login (id,account,id_card) value (1,‘lhz’,‘22040219845624’);
insert into tb_login (id,account) value (2,‘admin’);
select * from tb_login;

–唯一性约束unique
drop table if exists tb_login;
create table tb_login (
id int(11) NOT NULL COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
id_card varchar(50) NULL COMMENT ‘身份证’,
UNIQUE KEY id_card (id_card)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into tb_login (id,account,id_card) value (1,‘lhz’,‘22040219845624’);
insert into tb_login (id,account,id_card) value (2,‘admin’,‘22040219845624’);
select * from tb_login;

–主键|复合主键约束primary key
–主键 = 非空 + 唯一
drop table if exists tb_login;
CREATE TABLE tb_login (
id int(11) NOT NULL COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
UNIQUE KEY id (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

drop table if exists tb_login;
CREATE TABLE tb_login (
id int(11) COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into tb_login (id,account) value (1,‘lhz’);
insert into tb_login (id,account) value (1,‘admin’);
insert into tb_login (account) value (‘admin’);
–主键自增长
drop table if exists tb_login;
CREATE TABLE tb_login (
id int(11) AUTO_INCREMENT COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into tb_login (account) values (‘lhz01’),(‘lhz02’),(‘lhz03’),(‘lhz04’),(‘lhz05’);

CREATE TABLE tb_login (
id int(11) AUTO_INCREMENT COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
insert into tb_login (account) values (‘lhz01’),(‘lhz02’),(‘lhz03’),(‘lhz04’),(‘lhz05’);
select * from tb_login;

–主键|复合主键约束primary key
drop table if exists tb_order;
CREATE TABLE tb_order (
order_id int(11) COMMENT ‘订单号’,
order_flow int(11) COMMENT ‘流水号’,
fruit_id int(11) NOT NULL COMMENT ‘水果编号’,
fruit_price int(11) NOT NULL COMMENT ‘水果单价’,
quantity int(11) NOT NULL COMMENT ‘购买数量’,
PRIMARY KEY (order_id,order_flow )
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into tb_order
(order_id,order_flow,fruit_id,fruit_price,quantity)
values
(1000,1,1,1,1),(1000,2,2,2,2),(1000,3,3,3,3),(1001,1,1,1,1),(1001,2,2,2,2);

select * from tb_order;

–外键约束foreign key
–物理外键约束foreign key
drop table if exists tb_login;
drop table if exists tb_emp;
create table tb_emp (
id int(11) auto_increment comment ‘员工编号’,
nickname varchar(50) not null comment ‘员工姓名’,
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tb_login (
id int(11) AUTO_INCREMENT COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
eid int(11) NOT NULL COMMENT ‘员工编号’,
PRIMARY KEY (id),
constraint fk_login_emp foreign key (eid) references tb_emp (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

–逻辑外键约束foreign key
drop table if exists tb_login;
drop table if exists tb_emp;
create table tb_emp (
id int(11) auto_increment comment ‘员工编号’,
nickname varchar(50) not null comment ‘员工姓名’,
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE tb_login (
id int(11) AUTO_INCREMENT COMMENT ‘编号’,
account varchar(50) NOT NULL COMMENT ‘账号’,
password varchar(50) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
eid int(11) NOT NULL COMMENT ‘员工编号’,
PRIMARY KEY (id),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into tb_emp (nickname) values (‘李昊哲’),(‘phoenix’);
insert into tb_login (account,eid) values (‘lhz’,1),(‘phoenix’,2);

select * from tb_login;
select * from tb_emp;

select l.account,l.password,l.eid,e.id,e.nickname from tb_login as l inner join tb_emp as e;
select l.account,l.password,l.eid,e.id,e.nickname from tb_login as l inner join tb_emp as e where 1 and l.eid = e.id;
select l.account,l.password,e.nickname from tb_login as l inner join tb_emp as e where 1 and l.eid = e.id;

–备份与还原
–备份
mysqldump bd17Day02 -h localhost -u root -p > C:/tangcco/tcbd1017/mysql/bd17day02.sql
mysqldump bd17Day02 -h localhost -u root -p > ~/bd17day02.sql
–还原
mysql -h localhost -u root -p bd17Day02 < C:/tangcco/tcbd1017/mysql/bd17day02.sql
–还原
mysql -uroot -p
drop database bd17Day02;
create database bd17Day02 default character set utf8;
use bd17Day02;
select database();
source C:/tangcco/tcbd1017/mysql/bd17day02.sql

–修改表名称
alter table tb_login rename to tb_auth;

–修改字段数据类型
alter table tb_auth modify password varchar(150);
–修改字段约束
alter table tb_auth modify password varchar(150) not null default ‘123456’;

–修改字段名称
alter table tb_auth change password auth_string varchar(50);
–修改字段约束
alter table tb_auth change auth_string password varchar(50) not null default ‘123456’;

alter table tb_auth modify password varchar(150) not null default ‘123456’;
alter table tb_auth change password password varchar(50) not null default ‘123456’;

–添加字段
alter table tb_emp add gender int(1) default 1;
alter table tb_emp add birthday date first;
alter table tb_emp add uuid varchar(32) after id;

–删除字段
alter table tb_emp drop birthday;

–修改字段位置
alter table tb_emp modify uuid varchar(32) first;
alter table tb_emp modify uuid varchar(32) after id;

–修改存储引擎
alter table tb_stu engine=MyISAM;

–删除外键约束
alter table tb_auth drop foreign key fk_login_emp;

–删除表存在主外键关了的表的两种方式
–方式一 先删除外键然后在删除表
–方式二 先删除从表再删除主表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号