数据库的字段操作

主键问题:
PRIMARY KEY 不可为空 保证唯一性 只能有一个 可以联合(不建议)
UNIQUE 可以为空 保证唯一性 可以由多个 可以联合(不建议)

外键问题:
外键要建在从表上
主表:要引用的那个表
从表:
从表的外键指向主表的外键。

1、删除冗(rong)余约束
可以删除主键约束
ALTER TABLE 表名 DROP primary key;

2、删除唯一性约束 | 索引
两种方式:
ALTER TABLE 表名 DROP index 索引名;
DROP index 字段名 on 表名

3、删除外键约束:
在建表的时候 constrait 别名 是可以省略的,外键的别名
fk_id 是外键 pk_id 是主键
ALTER TABLE 表名 DROP foreigh key 外键名(别名);

4、识别并定义表的自动增长序列
如果定义某个序列号后再插入,会自动按照最大的序列号自增排序
BINARY: 区分大小写的
用法:
CREATE TABLE 表名(
name VARCHAR(10) BINARY
);
CREATE TABLE product(
pid int auto_increment UNIQUE,
name varchar(20)
);
实例:
insert into product
(name)
VALUE
(‘打印机’)
SELECT * from product;
insert into product(name) VALUES(‘电脑’);
insert into product(name) VALUES(‘电’);
insert into product(name) VALUES(‘脑’);
insert into product(pid,name) VALUES(10,‘音箱’);
insert into product(name) VALUES(‘5’);
DELETE FROM product
truncate table product

表数据的操作:
新增:
插入指定字段
关键字 INSERT
INSERT [INTO] 表名
(字段名1,字段名2,…字段名n)
value
(值1,值2,…值n)

插入所有字段
不写字段名默认就是插入全部字段
insert into 表名
value
(值1,值2,…值n)

插入多条记录
commit; 提交
注意 逗号是分隔符,分号是结束符
INSERT INTO class
VALUES
(‘mb1501’,‘移动 15 级 1 班’,‘50’,‘221198101’,‘67001’),
(‘mb1502’,‘移动 15 级 2 班’,‘48’,‘221198102’,‘67001’),
(‘mb1601’,‘移动 16 级 1 班’,‘52’,‘221198103’,‘67001’);
从其他表选择数据插入
先新建一个表,
like是数据来源表

CREATE TABLE S2 LIKE student;

SELECT * from s2;
desc s2;

INSERT INTO s2
SELECT * from Student;

   可以指定某个列

CREATE TABLE S2 LIKE student;

SELECT * from s2;
desc s2;

INSERT INTO s2
SELECT 字段名 from Student;

将一个表中指定字符的值导入到新表中;
insert into 目标表
(字段名1,字段名2,…字段名n)
select
字段名 1,字段名2,…字段名n
from 来源表;

更新:::::
按条件修改表中的部分数据 update
不加条件默认所有
update 表名
set 字段名1=值1,字段名2=值2,…
where
条件

UPDATE 也可以同时更新多个字段
update Course
set courseName=‘微机原理’,courseNature=‘限选课’
WHERE CourseID=‘10104’;

  选课人数试试改变

UPDATE course
SET courseRemark=CourseRemark-1
WHERE CourseId=‘10104’;

::::删除::::
按条件删除表中的
两个关键字 delete truncate
不加条件默认全部

delete from 表名
where 条件

delete 和truncate的区别
都能删除表 truncate效率比delete高
我们进行操作后,所有的操作都被记录在一个日志里面,
用来数据同步的

delete是可以恢复的 是被记录日志的
而truncate是不被记录的 是被截断的
delete from 表名
truncate 表名

drop table 删除的是表 delete和truncate相当于擦掉数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值