
表的创建
分别创建bank表、admin表、customer表、cus_remarks表、deposite表
命令格式:
CREATE TABLE [IF NOT EXISTS] `表名`(
'字段名' 列类型 [属性] [索引] [注释],
'字段名' 列类型 [属性] [索引] [注释],
......
'字段名' 列类型 [属性] [索引] [注释] )
索引和注释可选择性加入
CREATE TABLE bank(
b_id CHAR(5) PRIMARY KEY ,
b_name VARCHAR(30)
)
CREATE TABLE admin(
a_id VARCHAR(30) PRIMARY KEY,
a_name VARCHAR(50),
a_sex VARCHAR(10),
a_phone VARCHAR(30),
a_date DATE,
b_id CHAR(5)
)
CREATE TABLE customer(
c_id CHAR(6) PRIMARY KEY,
c_name VARCHAR(30)NOT NULL,
c_sex VARCHAR(10),
c_card VARCHAR(50),
c_province VARCHAR(50),
c_create TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
CREATE TABLE cus_remarks(
c_id CHAR(6) PRIMARY KEY,
c_remarks TEXT
)
CREATE TABLE deposite(
d_id INT(10) AUTO_INCREMENT PRIMARY KEY,
c_id CHAR(6),
b_id CHAR(5),
d_amount DECIMAL(8,2),
d_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY(c_id) REFERENCES customer(c_id)
)
表中字段的修改
修改相关命令:
-- 修改表名: ALTER TABLE 旧表名 RENAME AS 新表名
-- 增加表的字段: ALTER TABLE 表名 ADD 字段名 列属性
-- 修改约束:ALTER TABLE 表名 MODIFY 字段名 列属性[]
-- 字段重名: ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
-- 删除表的字段:ALTER TABLE 表名 DROP 字段名
例:使用ALTER TABLE修改customer表,将c_card列的字段类型修改为char(18),c_sex列的字段类型修改为char(2),c_create字段名改为c_createtime;
ALTER TABLE customer MODIFY c_card CHAR(18);
ALTER TABLE customer MODIFY c_sex CHAR(2);
ALTER TABLE customer CHANGE c_create c_createtime TIMESTAMP;
表中数据的基本操作
插入数据
- 在INSERT语句中指定所有字段名
通过使用INSERT语句列出表的所有字段可以向表中插入数据,语法格式如下。
INSERT INTO表名(字段名1,字段名2,…)VALUES (值1,值2,…);
在以上格式中,字段名1、字段名2等是数据表中的字段名称,值1、值2等是对 应字段需要添加的数据,每个值的顺序、类型必须与字段名对应。
- 在INSERT语句中不指定字段名
在使用INSERT语句为所有列插入数据时也可以不指定字段名,语法格式如下。
INSERT INTO 表名 VALUES (值 1,值 2,…);
在以上格式中,值1、值2等表示每个字段需要添加的数据,每个值的顺序、类型 必须和表中字段的顺序、类型都对应,否则出现错误。
- 为指定列插入数据
在一些实际场景中,在表中可能只需要添加某几个字段的数据,其他字段用默认值 即可,这就需要为指定列插入数据,语法格式如下。
INSERT INTO表名(字段名1“字段名2,…)VALUES (值1,值2,…);
在以上格式中,字段名1、字段名2等表示数据表中的字段名称,值1、值2等表 示每个字段需要添加的数据,每个值的顺序、类型必须和字段名对应。
- 批量插入数据
为所有列批量插入数据
实际上,使用一条INSERT语句就可以实现数据的批量插入。与插入…条数拯类似, 在批量插入时,语句中罗列多组VALUES对应的值即可,语法格式如下。
INSERT INTO表名[(字段名1,字段名2,…)]
VALUES (值1,值2,…),(值1,值2,…),…,(值1,值2,…);
在以上格式中,字段名1、字段名2等表示数据表中的字段名称,是可选的,值1、 值2等表示每个字段要添加的数据,每个值的顺序、类型必须和字段名对应。
- 例:批量插入数据
INSERT INTO admin (a_id,a_name,a_sex,a_phone) VALUES ('18101','zhang','男','1122'),
('18102','LI','女','1124'),('18103','TIAN','男','1123'),('18104','WANG','女','1125');
更新数据
前面讲解了如何插入数据,在插入数据之后,如果想变更,则需要更新数据表中的 数据。在MySQL中可以使用UPDATE语句更新表中的数据,语法格式如下。
UPDATE表名
SET字段名1=值1[字段名2=值2,…]
[WHERE条件表达式];
- 更新全部数据
当UPDATE语句中不使用WHERE条件语句时,会将表中所有数据的指定字段全部更新。
例:
UPDATE admin SET a_sex ='男',a_phone='1111';
- 更新部分数据
前面讲解了更新全部数据的方法,这种需求在实际开发中…般比较少,大多数需求 是更新表中的部分数据,使用WHERE B句可以指定更新数据的条件。
例:
UPDATE admin SET a_sex='女'
WHERE a_name='LI';
删除表中数据
在MySQL中可以使用DELETE语句删除表中的数据,语法格式如下。
DELETE FROM 表名(WHERE条件表达式);
在以上语法中,WHERE条件语句是可选的,用于指定删除数据满足的条件。通过 DELETE语句可以实现删除全部数据或者删除部分数据。
- 删除全部数据
当DELETE语句中不使用WHERE条件语句时,表中的所有数据将会被删除。
例:
DELETE FROM admin WHERE a_id='18101';
- 删除部分数据
前面讲解了删除全部数据的方法,但在实际开发中大多数需求是删除表中的部分数 据,使用WHERE子句可以指定删除数据的条件。
例:
DELETE FROM admin ;