1.给表追加主键约束
alter table 表名 add primary key (字段名);
2.删除主键约束
alter table 表名 drop primary key;
3.默认情况下AUTO_INCREMENT 的开始值是1,如果希望修改开始值不为1,可以使用如下SQL:
ALTER TABLE 表名 AUTO_INCREMENT = 开始值;
4.在建表时加联合主键
CREATE table myunion(
mid int,
mname varchar(10),
maddress VARCHAR(10),
-- constraint 联合主键约束名 PRIMARY key (字段名1,字段名2,......)
constraint uk PRIMARY key (mid,mname)
);
5.追加唯一约束
alter table 表名 add unique(列名);
6.删除唯一约束
alter table 表名 drop index 列名;
7.追加非空/空约束
alter table 表名 modify 列名 数据类型 not null/null;
8.删除非空约束
alter table 表名 modify 列名 数据类型 null;
9.添加外键约束
1)在建表时添加外键约束,这里建议在添加外键约束时使用constraint关键字给外键约束添加一个名字,方便后面做外键删除的操作
-- 建立一个课程表,引用讲师表的编号字段
CREATE table mycourse(
cid int PRIMARY KEY auto_increment,
cname VARCHAR(20),
tid int,
-- 添加外键约束,利用constraint关键字自定义约束名
constraint fk_mycourse foreign key(tid) references myteacher(tid)
);
2)-- 事后追加外键约束
ALTER TABLE mycourse add constraint fk_mycourse1 FOREIGN key(tid) references myteacher(tid);
10.删除外键约束(关于外键约束可以查看我的主页,其中一篇文章—“如何删除外键约束”主要介绍了如何删除外键约束)
1)先查看外键约束名
查看外键约束有多种方式,第一种,前提:如果是在建表时或者事后添加的外键给起了名字,
可以通过SHOW INDEX IN 表名;
第二种通过show CREATE TABLE 表名 查看建表语句;
如果在建表时,没有自定义外键的名字,系统会自动添加,第一种和第二种方法可能不适用,不同的客户端可尝试一下,不行的话通过找设计表—外键 查看外键名称
2)删除外键约束
ALTER TABLE mycourse drop foreign key fk_mycourse1;
1.查看某个数据库中的所有表
show tables;
2.查看表结构
desc 表名;
3.查看创建表的SQL语句
SHOW CREATE TABLE 表名;
4.同时复制表结构和数据
CREATE TABLE 新表名 查询语句;
5.删除表
drop table 表名;
6.为已经存在的表添加新列
alter table 表名 add 列名 类型;
ALTER TABLE student ADD hobby VARCHAR(100);
7.修改已经存在的列的数据类型
alter table 表名 modify 列名 新的数据类型;
例:将student表中的爱好列的数据类型扩充到VARCHAR(200)
ALTER TABLE student MODIFY hobby VARCHAR(200);
8.修改列名
alter table 表名 change 旧列名 新列名 类型;
9.删除列
alter table 表名 drop 列名;
10.修改表名
pename table 表名 to 新表名;
11.修改字符集
alter table 表名 character set 字符集;
例:将sutden2表的编码修改成gbk
ALTER TABLE student2 CHARACTER SET gbk;
12.截断表
截断表的作用是把原来的表摧毁,重新创建一个结构和原来一模一样的新表,语法如下:
truncate table 表名;
TRUNCATE TABLE table;
1.插入数据
INSERT INTO 表名 ( 列名1 ,列名2, ......列名n ) VALUES (值1, 值2, ... 值n),(值1, 值2, ... 值n),(值1, 值2, ... 值n),......;
2.插入日期值
1)sysdate();
2)now();
3.通过子查询插入多行数据
INSERT INTO 表名 (列名1, 列名2, 列名3…) 查询语句;
4.修改数据
update 表名 set 列名=值 where ;
5.删除所有行
delete from 表名;
6.删除某行
delete from 表名 where ;