表增删该查

进入库名
use db1
select databases() 创建表
create table t1(name char(20),age int(10)); 查看表
show tables
show create table t1; desc(ribe) t2 : 查看表结构 删除
drop table t1 修改
alter table t2 modify name char(20) 修改字段名
alter table t2 rename t1 修改表明 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
alter table t1 change name user char(16) 修改字段属性

字段增删该查

增加
insert into t1 (usr, age) values ("aa",18 ),("bb",8); 查
select * from t1 改
update t1 set age=28 where usr="aa" 删除
delete from t1 where age>8

表的详细操作

拷贝表
create table t1 like t2; 拷贝空表
create table t1 select * from t2; (结构+数据) 连同表记录一起拷贝过来,不复制表约束 truncate tt; 清空表,自增字段重置 alter table t1 engine=innodb charset=gbk; 修改表的引擎,字符编码集

表的字段操作

修改字段信息
alter table 表名 modify 字段名 类型[(宽度) 约束]; 修改字段信息
alter table 表名 modify 字段名 类型[(宽度) 非键约束] first; 移动字段到最前面
alter table 表名 modify 字段名 类型[(宽度) 非键约束] after 指定字段前; 移动到字段到指定字段后面 修改字段名及信息
alter table 表名 change 旧字段名 新字段名 类型[(宽度) 约束条件] 末尾添加
alter table 表名 add 字段名 类型[(宽度) 约束], ..., add 字段名 类型[(宽度) 约束];
alter table t1 add name char(5), add sex enum('male','femail','other') 首行添加
alter table 表名 add 字段名 类型[(宽度) 约束] first; 指定字段的后面添加
alter table 表名 add 字段名 类型[(宽度) 约束] after 旧字段名; 删除字段名
alter table 表名 drop 字段名;

表关系

多对一     (关键字设置在多的那一方)

建表规则:
先建立主表,再建立从表,在从表中设置主表的唯一字段(通常为主键)作为外键

建表语法

建主表:
create table 主表(
id int primary key auto_increment,
...
); create table dep(
id int primary key auto_increment,
name varchar(16),
work varchar(16)
);
建从表
create table 从表(
id int primary key auto_increment,
...
主表_id int, # 只是在从表中起了一个名字, 该名字和主表主键对应,所有起了个见名知义的名字
foreign key(主表_id) references 主表(唯一字段名id)
on update cascade
on delete cascade
); create table emp(
id int primary key auto_increment,
name varchar(16),
salary float,
dep_id int,
foreign key(dep_id) references dep(id) 外键设置在多的那一方
on update cascade # 设置级联
on delete cascade
);

多对多(关系确立在第三张表上)

建表规则:
  新建第三张表,通过两个外键形成多对多关系 建表语法:
create table 表1(
id int primary key auto_increment,
...
);
create table book(
id int primary key auto_increment,
name varchar(16),
price int
);
create table 表2(
id int primary key auto_increment,
...
);
create table author(
id int primary key auto_increment,
name varchar(16)
);

建第三张表建立关系

create table 关系表(
id int primary key auto_increment,
表1_id int,
表2_id int,
foreign key(表1_id) references 表1(id)
on update cascade
on delete cascade,
foreign key(表2_id) references 表2(id)
on update cascade
on delete cascade
);
create table book_author(
id int primary key auto_increment,
book_id int,
author_id int,
foreign key(book_id) references book(id) 第三张表与第一张表建立关系
on update cascade
on delete cascade,
foreign key(author_id) references author(id) 第三张表与第一张表建立关系
   on update cascade
   on delete cascade );

一对一(关系确立在第一张表上)

建表规则:
未存放外键的表被依赖,称之为左表;存放外键的表示依赖表,称之为右表;先操作左边再操作右表

建表语法:

create table 左表(
id int primary key auto_increment,
...
);
create table husband(
id int primary key auto_increment,
name varchar(16)
);
create table 右表(
id int primary key auto_increment,
...
左表_id int unique, # 一对一的外键需要唯一性
foreign key(左表_id) references 左表(id)
on update cascade
on delete cascade
);
create table wife(
id int primary key auto_increment,
name varchar(16),
husband_id int unique, # 一对一的外键需要唯一性
foreign key(husband_id) references husband(id)
on update cascade
on delete cascade
);

mysql用户管理

-特殊表: (mysql.user)
查看当前登陆用户 select user(); 重要字段: Host | User | Password
select Host,User,Password from user; 新建用户
create user 用户名@主机名 identified by '密码' 设置用户权限
grant create on db1.* to zero@localhost with grand option 给用创建表的权限 设置权限是如果没有当前用户,会自动创建用户 (重点)
grant all on db1.* to owen@localhost identified by 'owen'; # (创建用户)设置权限 撤销权限
revoke 权限名 on 数据库名.表名 from 用户名@主机名;
revoke delete on db1.* from owen@localhost; 修改密码
set password for 用户名@主机名 = password('新密码');
set password for owen@localhost = password(''); 删除用户
drop user 用户名@主机名;
 

库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理的更多相关文章

  1. 【MM系列】SAP 簇表 A017 物料信息记录 (指定工厂) 包含的透明表

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 簇表 A017 物料信息记录 ...

  2. MySQL 用户管理——权限表

    权限表 权限表存放在mysql数据库中 user表结构 用户列:Host.User.Password 权限列:*priv 资源控制列:max* 安全列:其余   db表 存储了用户对某个数据库的操作权 ...

  3. MySQL用户、库、表(单/多)操作

    用户及权限操作: 管理员登录:mysql -uroot -p 用户设置密码:set password=password(密码); 查看数据库所有用户:select * from mysql.user; ...

  4. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  5. mysql数据库、表、字段、记录:增、删、改、查

    /* 结构:数据库.表.字段.记录 操作:增删改查 */ -- 1.数据库:增删改查 create datebase if not exists jkxy; drop database if exis ...

  6. Django中ORM表的创建以及基本增删改查

    Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象.因此用ORM来操作数据库相当快捷.今天 ...

  7. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  8. Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)

    目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...

  9. 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

随机推荐

  1. Linux上修改主机名

    依次执行以下命令 hostnamectl set-hostname 你想设置的名字 hostname 你想设置的名字(和上面的名字保持一致) exit 然后重新连接就行了

  2. 获取与esp8266连接的客户端的Mac地址 IP 端口 控制停止等问题

    两个关键的库 ESP8266WebServer.h WiFiClient.h ESP8266WiFiAP.cpp C:\Users\dongdong\Desktop\Arduino-master\li ...

  3. (十三)Batch Processing

    In addition to being able to index, update, and delete individual documents, Elasticsearch also prov ...

  4. Centos7.x做开机启动脚本

    cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) uname -r 3.10.0-693.11.1.el7.x86_64 vim ...

  5. Linux和Uboot下eMMC boot分区读写

    关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需 ...

  6. 基于 HTML5 结合互联网+ 的 3D 隧道

    前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈.比如依靠民间借贷,融资成本很高:采购价格不透明,没有增值税发票:还有项目管控和供应链管理的问题.成本在不断上升,利润在不断下降,隧道产业的“互联网 ...

  7. linux nohup命令实现退出终端后程序继续后台运行

    Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行:但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现. nohup ...

  8. 用es6类封装的图片预加载技术!

    1.HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  9. Linux C/C++ 链接选项之静态库--whole-archive,--no-whole-archive和--start-group, --end-group

    参照这两篇博客: http://stackoverflow.com/questions/805555/ld-linker-question-the-whole-archive-option http: ...

  10. 在写php项目时 修改外部css或js文件没有效果

    原因是:浏览器的自动缓存机制导致的. 这是因为浏览器会自动缓存静态文件以加快访问速度,所以这就导致浏览器将不会再接收静态文件了 解决办法是 使用ctrl+F5 —— 传说中的完全刷新,会删掉所有本地临 ...