mysql21_mysql2
第三章 ? 保證數據完整性
3.1 數據完整性的概述:實體完整性 ?域完整性 ?引用完整性 ?用戶自定義完整性
3.2 數據完整性的實現
3.2.1 創建非空約束 ?(在定義列后加上 ?not null )默認為 null
3.2.2 創建主鍵約束-- primary key ? 主鍵列不允許儲存null值。
3.2.3 設置唯一約束 ??unique
3.2.4 設置默認值 ?default
3.2.5 設置檢查約束(MySQL不支持)
創建表:student
3.2.6 使用自動編號列:auto_increment
1:?改變自動增長值:
alter table ?student??auto_increment=1000;
2:添加主鍵約束 ,唯一約束,默認約束,自動增長(自動增長只能用在主鍵上),都用 change
alter table student ?change ?id id primary key ;
alter table student ?chang gender gender varchar(4)?unique;
alter table student ?change name name varchar(20) default "張三";
alter table student ?change idid int primary key ?auto_increment;
3:刪除主鍵約束,唯一約束(刪除唯一約束的時候 ?實際上是刪除索引),默認約束,外鍵約束 ,都用drop
alter table student drop primary key;
alter table student drop index gender;
alter table student drop name name varchar(20);
alter table student drop primary key fk_name;
4:添加外鍵約束用add。
5:contraint ? 約束 ; references 引用 ; foreign key 外鍵 ;default 默認;unique 唯一;auto_increment 自動增長;
第四章 ?使用DML語句更改數據
本章目標 ? 使用insert語句添加數據 ? 使用update語句修改數據 ? 使用delete語句刪除數據
4.1 添加新數據
4.1.1 插入單行記錄:
insert into (列名列表)values ()
或者 ? ? ? insert ?into values () ? ?-- 簡寫
4.1.2 插入多行記錄 :
insert into () values (),(),。。。。;
或者 ??insert ?into values ();
insert ?into values ();
insert ?into values ();
4.1.3 數據表的復制
1: 以創建新表的復制形式
create table?student_bak1 select * from student;
2:復制數據
create table student_bak2(
pk_id int primary key auto_increment,
name varchar(20) not null,
age int ,
gender char(3) ?default "男",
birthday date,
phoneNo char(12)
);
insert intostudent_bak2_select * fromstudent;
4.2 更改已有數據
update set where ;
4.3 刪除數據
delete from where ;
刪除 student_bak2的所有信息
delete from ?student_bak2; ?-- delete 語句刪除會記錄日志 刪完數據以后 自動增長依然繼續遞增
truncate table student_bak2; -- truncate 不會在日志中記錄的 ? 刪完數據以后 自動增長回到初始值 1
刪除
update student set age=null ?where name="未成年";
總結
以上是生活随笔為你收集整理的mysql21_mysql2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++中的explicit关键字
- 下一篇: docker查询mysql 有哪些版本的