一、插入数据
INSERT 使用建议;
省略列名的注意事项
首先查看数据表结构
格式:desc 表名;
插入数据
格式:INSERT INTO 表名 VALUES (值1,值2.。。。)
指定插入数据
格式:INSERT INTO 表名(列名1,列名2 .。。。)VALUES ( 值1,值2.。。。)
插入多条数据
INSERT INTO 表名(列名1,列名2)values
(值1,值2。。。),
(值1,值2.。。。);
mysql> INSERT INTO mydb2.stu_info (stu_id,stu_name,stu_age,stu_gender)
-> values
-> (4,'zy',59,'F'),
-> (5, '周杰伦', 44, 'M'),
-> (6, '林俊杰', 42, 'M'),
-> (7, '薛之谦', 40, 'M');
更新字段
格式 :update 表名 set 列名 = 22 where 条件;
例:update stu_info set stu_age = 22;
删除数据
delete from 表名 where 列名 =条件
整张表格数据的删除一般使用
TRUNCATE 表
二、创键
创建数据库
格式:CARATE DATABASES 数据库名;
建表结构
格式:CREATE TABLE 表名(列名 类型 约束条件),(列名2,类型 约束条件);
mysql> create table stu_info(
-> stu_id int primary key auto_increment comment '学号',
-> stu_name varchar(30) not null comment '姓名',
-> stu_age tinyint not null check (stu_age >= 18),
-> stu_gender char(1) not null default 'M' check (stu_gender in ('F', 'M'))
-> );
常见数据类型
约束条件
主键
primary key
非空
not null
自动排序
auto_increment #默认非空
禁止重复
unique
添加外键
主要起到外键的约束,不可以随意添加数据,保证了数据的完整性
方法一:直接在属性值后面添加
create table score(
cscore int(11),
st_id int(50) references student(id),
cs_id int(30) references classes(id),
primary key(st_id,cs_id)
);
方法二:建表时在末尾添加
create table score(
cscore int(11),
st_id int(50),
cs_id int(30),
primary key(st_id,cs_id),
FOREIGN KEY (st_id) REFERENCES student(id),
FOREIGN KEY (cs_id) REFERENCES classes(id)
);
方法三:添加约束
create table score(
cscore int(11),
st_id int(50),
cs_id int(30),
primary key(st_id,cs_id),
CONSTRAINT `FK_ID_ST` FOREIGN KEY (st_id) REFERENCES student(id),
CONSTRAINT `FK_ID_CS` FOREIGN KEY (cs_id) REFERENCES classes(id)
);
方法四:在表的定义外进行添加
alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应
枚举
DHECK (字段 IN ('',''))
范围
格式: CHECK (字段 between 数值 and 数值)
三、修改
字段
#修改字段类型、字段注释、字段默认值
ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度 新默认值 新注释;
-- COLUMN关键字可以省略不写
mysql修改字段名:
ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型;
表名
ALTER TABLE 旧表名 RENAME TO 新表名
注释
ALTER TABLE 表名 COMMENT '新注释'
增加一个字段
ALTER TABLE 表名 ADD COLUMN newname 数据类型 数据长度 默认值 注释
//增加一个字段,默认为空
alter table box add column boxroom int 10 default null comment '座位空间'
//增加一个字段,默认不为空
alter table box add column boxroom int 10 not null comment '座位空间'
ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段 ;
--COLUMN关键字可以省略不写
删除一个字段
ALTER TABLE 表名 DROP [COLUMN] 字段名 ;
--COLUMN关键字可以省略不写