数据库的字段操作

主键问题:
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相当于擦掉数据

发布了10 篇原创文章 · 获赞 10 · 访问量 134

猜你喜欢

转载自blog.csdn.net/weixin_44496141/article/details/105290686