数据库常见的概念

14 篇文章 0 订阅
1 篇文章 0 订阅

常见概念

数据库

数据库管理系统

数据库管理员

常见操作

登录

下面展示一些 内联代码片


mysql -u root -p



退出


exit



数据库实例操作

show databases;             # 查看所有数据库实例
create database 数据库实例名  # 查看创建语句
drop database 数据库实例名    # 删除数据库实例名
use 数据库实例名              # 使用数据库实例名


表的操作

新建

语法

下面展示一些 内联代码片


create table 表名(
     列名1 类型 [约束], 
     ...,
     列名N 类型 [约束]
)

案例


create table dept(
   deptNo int(2),
   name varchar(20),
   loc varchar(30)
)

复制表

方式一

下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
create table 表名 子查询;

方式二

下面展示一些 内联代码片

// A code block
var foo = 'bar';
create table 表名 like 表名;

修改列

添加列

下面展示一些 内联代码片

// A code block
var foo = 'bar';
alter table 表 add 列名 类型 约束] [comment '注释'];

修改列

下面展示一些 内联代码片

// A code block
var foo = 'bar';
alter table 表 change old列名 new列名 类型 约束 [comment '注释'];

alter table 表 modify 列名 类型 约束 [comment '注释'];

删除列

下面展示一些 内联代码片

// A code block
var foo = 'bar';
alter table 表 drop 列名;

常见的约束

主键

            含义:用来区分表中记录数的一列或多列(此时一般称为复合主键)                            		  特点:非空且唯一

外键

  含义:表中的一列的值是来自其他表中的主键或唯一列

  特点:值只能是引用列的值或为null(前提设置可以为空)

NOT NULL

      含义:列的值不能为空

UNIQUE

       含义:表中的指定的unique的列必须是唯一的
       特点:可以为null

ENUM

SET

CHECK

语法

下面展示一些 内联代码片

create table 表名(
   字段 类型 [约束]
)

修改约束

添加约束

alter table 表名 add constraint 约束名 约束类型 (字段名)

删除约束

下面展示一些 内联代码片

alter table 表名 drop primary key         -- 删除主键约束


alter table 表名 drop foreign key 约束名   -- 删除外键约束


alter table 表名 drop index 索引名         -- 删除唯一约束


修改表名

语法

下面展示一些 内联代码片

alter table 旧表 rename  新表;

案例

下面展示一些 内联代码片

alter table new_book rename old_book;

DML

含义

            数据操作语言

分类

insert

update

delete

insert 语句

语法

插入一条记录

下面展示一些 内联代码片


insert into 表名 [(1,...,N)] values (1的值,...,N的值);

批量插入

下面展示一些 内联代码片


insert into 表名 [(1,...,N)] values (1的值,...,N的值);

insert into 表名 [(1,...,N)] 子查询;

案例

下面展示一些 内联代码片

insert into dept values(50,'开发部','广西');

-- 插入null值
insert into dept values (60,null,null);
insert into dept (deptno) values (70);

-- 批量插入
insert into dept (deptno) values (80),(90);
insert into dept (deptno) select empno from emp;

-- 插入时间方式一
INSERT INTO	emp (empno, ename, job,mgr, hiredate, sal, comm, deptno) values(1,'xx','yy',7902,'2011-11-1',100,100,50);

-- sysdate() 是mysql自带的的函数,用来返回当前时间
select SYSDATE() from dual;

-- 插入时间方式二
INSERT INTO	emp (empno, ename, job,mgr, hiredate, sal, comm, deptno) values(2,'xx','yy',7902,SYSDATE(),100,100,50);

update语句

语法

下面展示一些 内联代码片

UPDATE table SET column = value [, column = value] [where condition];

案例

下面展示一些 内联代码片

update emp set deptno = 20 where empno = 7782;
update emp set deptno = 20;
update emp set deptno = 20,sal=sal+100 wher deptno = 10;

-- 报错,思考为什么?
update emp set deptno = 50;

delete语句

语法

下面展示一些 内联代码片

delete from table [where condition];

案例

下面展示一些 内联代码片

delete from dept where deptno = 10;

-- 思考此处为什么报错?
delete from dept where deptno = 20;

-- 删除所有的员工
delete from emp;

DDL

含义

       数据定义语言,比如:create table、create view、truancate等等

truncate

含义

                  截断表

和delete区别

truncate是DDL语言,delete是DML语言
truncate只能删除表中的全部记录,delete可以指定删除记录
trancate会是否表空间,delete不会是否表空间
trancate不能回滚,delete可以回滚
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值