一、基本语法
// 登录 mysql
$ mysql -u root -p root
// 退出 mysql
exit;
// 创建 family 数据库
create database family;
// 创建 info 数据表,primary key为主键
create table info(
id int primary key,
name char(20),
birth date,
age tinyint(200),
gender char(2)
);
// 查询所有数据库
show databases;
// 选择 family 数据库
use family;
// 查看 family 数据库中的数据表
show tables;
// 查询 info 表中的数据
select * from info;
// 查看 info 数据表的结构
describe info;
// info 数据表中插入数据
insert into info values(1,'张三','1991-05-03','29','男');
// 修改 info 数据表中的数据
update info set name='张三' where id=1;
// 删除 info 数据表中的数据
delete from info where name='张三';
/**
注意事项:
1:var()与varchar()的区别在于var()是定常的,哪怕存储的字符串没有达到"()"中数字的上限,var()依然会占用空格来填充空间.而varchar()则是不定长的,没有达到"()"中的上限则会自动去掉后面的空格;
2:性别不要用:sex 要用:gender 一个是性 一个是性别;
3:定义最后一个字段的时候不要加",";
4:上面的"VAR","VARCHAR","DATE"可以用小写.不过最好用大写来表示区分关键字,若不然也许写到后面你自己都不知道这个词是数据库中的关键字还是你自己自定义的一些数据,同时一定要用英文的标点符号也必须半角输入
**/
二、mysql建表中的约束
1. 主键约束:它能够唯一确定一张表中的一条记录,增加主键约束之后,就可以使得字段不重复而且不为空
create table info(
id int primary key,
name char(20),
);
// 添加 info 数据表主键
alter table info add primary key(id);
// 修改 info 数据表主键
alter table info modify id int primary key;
// 删除 info 数据表主键
alter table info drop primary key;
2. 联合主键:主键值加起来不重复
create table info(
id int,
name char(20),
gender char(2),
primary key(id,name)
);
3.自增约束:无需传主键值,id 自动增加
create table info(
id int primary key auto_increment,
name char(20)
);
4.唯一约束:约束修饰的字段的值不可重复
create table info(
id int,
name char(20),
unique(name)
);
create table info(
id int,
name char(20) unique
);
create table info(
id int,
name char(20),
unique(id,name)
);
// 删除 info 表中的唯一约束
alter table info drop index name
// 添加 info 表中的唯一约束
alter table info modify unique name varchar(20)
5.非空约束:修饰的字段不能为空 null
create table info(
id int,
name char(20) no null
);
6.默认约束:没传值的时候默认赋值
create table info(
id int,
name char(20) default '张三'
);
7.外键约束:涉及两个表 父表子表
- 主表中没有的数据值,在副表中是不可以使用的
- 主表中的记录被副表引用,是不可以被删除的
// 班级
create table classes(
id int primary key,
name char(20)
);
// 学生表
// class_id 必须来自classes 表中的 id
create table students(
id int primary key,
name char(20),
class_id int,
foreign key(class_id) references classes(id)
);
网友评论