mysql基础知识(一)

mysql

终端操作:

对数据库操作

 1. show databases;  #查看所有数据库信息。
 2. create database [数据库名称]; #创建数据库
 3. drop database [数据库名称]; #删除数据库
 4. use [数据库名称];  # 进入到对应的数据库里面

对表操作

 5. show tables; # 查看所有表
 6. create table [表名] (id int(4),name varchar(40));#创建表
 7. create table [新表名] like [旧表名]; #复制表的结构
 8. alter table [表名] add [列名] int(4) comment '工资'; #给表添加列,comment '工资' 这是注释。
 9. show create table new1; 查看表的结构
 10. alter table [表名] change 【旧列名】 【旧列名】 int(40); #修改列名,要添加新列名的数据类型。
 11. alter table new1 modify newmoney varchar(40) comment '新工资'# modify 修改列的数据类型,注释,不修改名字
 12. alter table new1 drop [newmoney];

常见约束

  • 主键

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

    特点:非空且唯一

  • 外键

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

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

  • NOT NULL

    含义:列的值不能为空

  • NOT NULL

    含义:列的值不能为空

修改约束

  • 添加约束

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

    alter table 表名 drop primary key         -- 删除主键约束
    
    alter table 表名 drop foreign key 约束名   -- 删除外键约束
    
    alter table 表名 drop index 索引名         -- 删除唯一约束
    

DML

  • insert
  • update
  • delete

insert

  • 插入一条
	insert into new1 values(2,'xiaoming');
	# 可以给具体的列插入值
	insert into 表名 [(1,...,列N)] values (1的值,...,列N的值),(1的值,...,列N的值),...; 
  • 批量插入
 insert into 表名 [(1,...,列N)] values (1的值,...,列N的值),(1的值,...,列N的值),...;
 insert into new1 values(3,'xiaohong'),(4,'longzaitian');
 
 insert into 表名 [(1,...,列N)] 子查询;
  insert into new1 select * from new1;
-- 插入时间方式一
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;

delete语句

语法

delete from table [where condition];

案例

delete from dept where deptno = 10;

DDL

含义

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

truncate

含义

截断表

和delete区别

  • truncate是DDL语言,delete是DML语言

  • truncate只能删除表中的全部记录,delete可以指定删除记录

  • trancate会是否表空间,delete不会是否表空间

  • trancate 先删除表,再创建表(注意外键)

  • trancate不能回滚,delete可以回滚

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值