说明
这个只是本人自己学习时做的笔记,比较基础,希望大佬不喜勿喷。
有需要的小伙伴可以参考一下,只是很基础的笔记。谢谢大家!
简单属性
语法代码:
------------------------------------------------------------
-- 列属性
--列属性又称之为字段属性,mysql中一共有6个属性
--null,默认值,列描述,主键,唯一键和自动增长
--NULL:代表字段为空
--默认值:default,该字段没有指定就会填充默认值。
--age int default 18;使用默认值18,显示使用values('tom',default);
--字段描述:comment
create table my_comment(
name varchar(10) not null comment '用户名不能为空',
age int default 18;
);
使用show create table my_comment;才能查看
--主键:primary key,可以标识唯一记录的属性列。
--创建主键
--随表创建
--1.在字段之后直接加primary key。
create table pri1(
name varchar(10) primary key
);
--2.在所有字段之后添加。
create table pri2(
name varchar(10),
primary key(name)
);
--表后增加
alter table 表名 add primary key(字段);
create table pri3(
name varchar(10),
);
alter table pri3 add primary key(name);
--查看主键
1.查看表结构
2.查看表的创建语句
--删除主键
基本语法:alter table 表名 drop primary key;
--复合主键
案例:选课表
create table my_score(
student_no char(10),
course_no char(10),
score tinyint not null,
primary key(student_no,course_no)
)charset utf8;
--主键约束
1.当前字段对应的数据不能为空;
2.唯一性。
3.主键分类,业务主键,逻辑主键。(自然主键,代理主键)
--自动增长:auto_increment
当某个字段添加该属性后,该列数据没有提供数据时,
系统会自动根据已有数据自动增加后填入。
--原理:设置步长,在字段后加auto_increment
--使用自动增长:
create table my_auto(
id int primary key auto_increment,
name varchar(10) not null,
pass varchar(50) not null
)charset utf8;
插入数据insert into my_auto values(null,'tom','root');
--修改自动增长:
一张表只能有一个,表选项有改。
alter table my_auto auto_increment=10;
删除自动增长:
修改字段类型alter table my_auto modify id int;
--查看自增长初始变量
show variables like 'auto_increment%';
auto_increment_offset 初始值;
auto_increment_increment 步长;
--唯一键:unique key,用来保证对应的字段中的数据唯一。
1.唯一键在一张表中可以有多个。
2.唯一键允许字段数据为null。null可以有多个,null(不参与比较);
--创建唯一键。与主键类似。
1.在字段后跟着,
create table my_unique1(
id int primary key auto_increment,
name varchar(10) unique key
)charset utf8;
2.在字段完成后,
create table my_unique2(
id int primary key auto_increment,
name varchar(10),
unique(name))charset utf8;
3.在建表后增加。
create table my_unique3(
id int primary key auto_increment,
name varchar(10))charset utf8;
alter table my_unique3 add unique key(name);
4.删除唯一键
通过系统提供的index索引删除,
alter table 表名 drop index 唯一键名字。
alter table my_unique3 drop index name;
5.修改唯一键,先删除后增加。
6.复合唯一键。