Mysql基础学习笔记

本博客只作为个人学习笔记使用。

数据库操作

以创建名为”my”的数据库为例子:
创建数据库:create database my;
查看已有的数据库:show databases;
查看数据库:show create database my;
修改数据库编码:alter database my character set utf8;
创建数据库的同时指定编码:create database my character set utf8;
删除数据库:drop database [if exists] my;
使用数据库:use my;
查看当前使用的数据库:select database();

表操作

创建表(以创建表名为course的表为例):

这里写图片描述

查看数据库中有哪些表:show tables 或show tables from database_name
查看表的结构: desc table_name或 show columns from table_name
插入数据:insert into course values(‘lcl’,23,’boy’,1001);
插入数据指定字段: insert into course(name,age) values(‘hh’,22);
字段不允许为空:name varchar(20) not null
设置主键为自增的:alter table course modify id int(11) auto_increment; 还可以设置自增起始,设置表course主键从10000开始:alter table course auto_increment=10000;
给name字段添加唯一约束:alter table course modify name varchar(20) unique key;
默认约束:alter table course modify description varchar(50) default ‘无’;

外键

这里写图片描述

创建表stu,建立与表course关联的外键course_id

这里写图片描述

在表B中建立与父表A关联的外键后:当在建立外键时使用如下语句:
constraint foreign key(c_id) references course(id) on delete cascade ,那么删除父表的同时会删除子表中外键列与父表中参照列相等的记录。

cascade:对父表操作会更新字表中匹配的行
set null:对父表删除或更新,字表对应字段设置为null(前提是字表对应字段允许为null)
no action、restrict:拒绝对父表删除或更新

实际开发中很少使用物理的外键约束,很多都去使用逻辑的外键约束,因为物理的外键约束只有INNODB这种引擎才会支持,像另外的存储引擎如MYISAM则不支持。

表字段操作

表增加列:alter table stu add column name varchar(20) after c_id;
表增加多列:alter table stu add column(grade varchar(5),age int);
删除列:alter table stu drop column age;
删除多列:alter table stu drop name,drop grade;
删除外键约束:alter table stu drop foreign key ‘外键名’;
删除主键约束&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值