建库建表
create database DATABASENAME;
create table TABLENAME (
id int ,
name varchar ( 10 ) ,
age int
) ;
常用数据类型 描述 int 或 integer 整数 char 定长字符串, 设定长度 varchar 变长字符串, 设定长度上限 text 长文本 date 日期值 YYYY-MM-DD time 时间值 HH:MM:SS datetime date + time
约束
建立约束
建表同时建立约束
CREATE TABLE classes (
id int primary key ,
classnum int unique ,
teacher varchar ( 255 ) not null ,
) ;
create table student (
id int primary key auto_increment ,
stunum int unique ,
name varchar ( 255 ) not null ,
age int default 18
) ;
create table score (
id int primary key ,
math int ,
chinese int ,
english int ,
foreign key ( id) references student( id) ,
check ( math >= 0 )
) ;
已有表建立约束
alter table TABLENAME modify COLUMNNAME int not null ;
alter table TABLENAME add unique ( COLUMNNAME) ;
alter table TABLENAME add primary key ( COLUMNNAME) ;
alter table T1 add constraint T1C1_T2C2 foreign key ( C1) references T2( C2) ;
alter table TABLENAME alter COLUMNNAME set default DEFAULTVALUE;
解除约束
alter table TABLENAME modify COLUMNNAME int null ;
alter table TABLENAME drop index COLUMNNAME;
alter table TABLENAME drop primary key ;
alter table TABLENAME drop foreign key FOREIGNKEYNAME;
alter table TABLENAME alter COLUMNNAME drop default
索引
索引是一张表, 保存了主键与索引字段,并指向实体表的记录 在不读整个表的情况下, 索引是数据库的应用可以更快的查找数据 索引会提高查询速度, 但会降低更新(insert, update, delete)速度
创建索引
create index INDEXNAME on TABLENAME( CLOUMNNAME)
create index INDEXNAME on TABLENAME( CLOUMNNAME desc )
create unique index INDEXNAME on TABLENAME( CLOUMNNAME)
create index INDEXNAME on TABLENAME( CLOUMNNAME1, COLUMNNAME2, . . . )
删除索引
drop index INDEXNAME on TABLENAME;
查看索引
show index from TABLENAME;
修改 COLUMN 信息
alter table TABLENAME add COLUMNNAME [ 数据类型] [ 约束语句] ;
alter table TABLENAME drop column COLUMNNAME;
alter table TABLENAME alter column COLUMNNAME [ 新数据类型]
删库跑路
drop database DATABASENAME;
drop table TABLENAME;
truncate table TABLENAME;