MYSQL基本操作之数据库、表、字段操作
1. 数据库操作
(1)创建数据库:create Database database_name;
(2)查看数据库:SHOW DATABASES;
(3)选中数据库:use database_name;
(4)删除数据库:drop database database_name;
2. 表的基本操作
(1)创建表: create table table_name(
属性名 数据类型,
属性名 数据类型,
...
属性名 数据类型
);
(2)删除表:drop table table_name;
(3)查看表结构: describe tabel_name; 或desc table_name;
查看表详细定义:show create table table_name;
查看当前数据库的所有表:show tables;
(4)修改表
①修改表名:alter table oldname rename newname;
②增加字段到最后:alter table table_name add 属性名 属性类型;
③增加字段到首个:alter table table_name add 属性名 属性类型 first;
④指定位置后增加:alter table table_name add 属性名 属性类型 after属性名;
(5)删除字段:alter table table_name drop属性名;
(6)修改字段
①修改数据类型:alter table table_name modify属性名 数据类型;
②修改属性名(字段名字):alter table table_name change旧名 新名 旧数据类型;
③修改属性名及数据类型: alter table table_name change旧名 新名 新数据类型;
④修改顺序:
alter table table_name modify 属性名 数据类型first;
alter table table_name modify 名1数据类型after名2; //将名1移到名2之后
3.表的约束
(1)非空约束(NOT NULL,NK)
①格式: CREATE TABLE table_name (
属性名 数据类型 NOT NULL,
......
);
②报错: ERROR 1048 (23000):
(2)设置字段默认值(DEFAULT)
格式: CREATE TABLE table_name (
属性名 数据类型 DEFAULT 默认值,
......
);
(3)唯一约束,字段上的内容不能重复(UNIQUE,UK)
①格式: CREATE TABLE table_name (
属性名 数据类型 UNIQUE,
......
);
②有重复值则报错: ERROR 1062(23000)
(4)设置主键约束(PRIMARY KEY,PK)
主键唯一、非空(主键约束相当于唯一约束加非空约束)
①单字段主键: CREATE TABLE table_name (属性名 数据类型 PRIMARY KEY,
......
);
②多字段主键: CREATE TABLE table_name (
属性名 数据类型 ,
......
CONSTRAINT 约束名 PRIMARY KEY (属性名1,,属性名2...) //约束名一般为 :约束缩写_字段名
);
(5)字段值自动增加(AUTO_INCREMENT)
MYSQL唯一扩展的完整性约束。
表中插入新纪录时,字段上的值(整数类型)自动生成唯一ID,一个表只能有一个字段使用此约束。
有此约束的字段常设置成主键
① CREATE TABLE table_name (
属性名 数据类型 AUTO_INCREMENT,
......
);
②CREATE TABLE table_name (属性名 数据类型 PRIMARY KEY AUTO_INCREMENT,
......
);
(6)外键约束(FOREIGN KEY,FK)
若B的一个字段是A的主键,则此字段为B的外键。A为主表,B为从表。例:公司C有部门若干,包括部门B,部门下有雇员A,部门编号为A的一个字段,为B的主键,则
B包含A。
子表中外键字段数据类型要与父表主键字段的数据类型一致。否则ERROR 1005(HY000)
CREATE TABLE table_name (
属性名 数据类型 ,
......
CONSTRAINT 外键约束名 FOREIGN KEY (子表字段名) REFERENCES 父表名 (父表主键字段名)
);