约束
限制用户输入的的数据
????NULL和NOT NULL
限制字段是否可以为空
数据库学习笔记
数据库学习笔记
mysql根据null或者not null自动设置默认值数据库学习笔记
查询pass为NULL的记录
数据库学习笔记
????DEFAULT
字段的默认值约束
数据库学习笔记
数据库学习笔记
????auto_increment
只能修饰int字段,表明是自动增长列,每次在上一个值的基础上加1

????索引
用来加快搜索速度
给stocks创建symbol列的索引名称为sym
数据库学习笔记
index修饰符可以为多个字段添加索引
数据库学习笔记
可以创建联合(复合)索引
数据库学习笔记
如果给已经存在的表,添加索引
create index 索引名称 on 表名(字段名,…);
create index username on sysusers(uname);

对于blob、TEXT字段,也可以强制性地指定字符的个数来为它添加索引
create index synopsis on books(synopsis(100));
????删除索引
drop index 索引名 on 表名
????UNIQUE索引
被UNIQUE(唯一)所修饰的字段,不能输入重复的值
不能插入数据库学习笔记
UNIQUE修饰的字段可以为NULL
数据库学习笔记
添加唯一性索引
alter table Stundet
add unique index(Sno,Cno)
????主键
唯一标识一行数据
是not null 和 unique的
可以建立复合主键
create table firewall
(
host varchar(50) not null,
port int not null,
access enum(‘allow’,‘deny’) not null,
primary key(host,port)
#复合主键
)

????创建表
数据库学习笔记
修改表结构
添加列
alter table Stundet add column Sremarks varchar(400)
alter table tbWork add column col1 varchar(50);
修改字段类型
alter table tbWork modify Did int
数据库学习笔记
修改列名(col1—>col2)
alter table tbWork change col1 col2 varchar(50);
数据库学习笔记
删除主键约束:
alter table 表名 drop primary key;
数据库学习笔记
删除外键约束:
alter table 表名 drop foreign key 外键(区分大小写);
????复制表
注意:create table …select结构不能从原表中复制键,需要手工创建

复制表结构和数据数据库学习笔记
复制表结构
数据库学习笔记
临时表
create temporary table 表名
临时表,仅仅存在于mysql的会话期内,当客户关闭了与mysql服务器的连接时,这种表会被自动删除,因为临时表是依赖于会话的,两个会话连接中使用名字相同的临时表是不冲突的。
????查询
数据库学习笔记
获取5行数据(0,代表表中的第一行数据,5代表记录的行数)
数据库学习笔记
选择列
数据库学习笔记
查询条件
数据库学习笔记
数据库学习笔记
获取年月日
数据库学习笔记
count
数据库学习笔记
过滤重复数据
数据库学习笔记
ike模糊查询(_代表一个字符,%代表任意个字符)
数据库学习笔记
随机产生选取数据
数据库学习笔记
分组
mysql中会显示每个分组中的第1条数据
数据库学习笔记
cast
数据库学习笔记
数据库学习笔记
可以转换的类型是有限制的。这个类型可以是以下值其中的一个:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
????连接查询
分为内连接(inner join)和外连接(outer join)
外连接:左连接、右连接
内连接:
数据库学习笔记
数据库学习笔记
外连接:
右连接:
right join 关键字右侧的表是主表,主表中的字段无论是否匹配,都必须全部显示出来
数据库学习笔记
左连接:
left join 关键字左侧的表是主表,主表中的字段无论是否匹配,都必须全部显示出来
数据库学习笔记

????视图
是由查询语句定义的

数据库学习笔记
查询每个部门多少人
数据库学习笔记

数据库学习笔记

相关文章: