MYSQL
基本操作-管理数据表数据
插入记录
insert 属于DML语句(数据操纵语句)
INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];
- <列名>:可以不指定,默认指定表的所有列名
- values:字段有多少个,值就要有多少个,且顺序要对应,否则会报错
1. 为表的所有字段插入数据
使用基本的 insert语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式为
insert into tb_name (col_list) values (val_list);
insert into tb_name values (val_list);
『示例』向 bookshop数据库的表 customers插入如下的数据。
insert into customers
( cid,
ctruename,
cpassword,
csex,
caddress,
cmobile,
cemail,
cregisterdate,
cnickname)
values
( 'c0011',
'李 平',
'123456',
'女',
'广东中山市',
'1351543876',
'liping163.com',
'2009-9-6'
'shjii');
或者
insert into customers
values
( 'c0012',
'战士',
'1234567',
'男',
'广东中山市',
'13599900876',
'djskjk163.com',
'2009-9-6',
'buyu');
2. 为表的指定字段插入数据
『示例』新顾客信息录入,顾客信息地址 address和电子邮箱cemail尚缺,只能将该顾客的部分信息如表所示添 加到 customers表中。
insert into customers
( cid, ctruename, cpassword, csex, cmobile, cregisterdate )
values
( c0012, 张先明, 23456, 男, 13513452312, 2009-10-6 );
3. 同时插入多条记录
『示例』如果想一次性插入多条, 可以这样...
insert into customers values
(
'c0014',
'韩志国',
'123456',
'男',
null,
'13512134256',
'al63com',
'2010-1-16',
'buyu1'
), (
'c0015',
'张小明',
'123456',
'男',
null,
'13613434256',
'zma163.com',
'2010-2-24',
'buyu2');
4. 复制表数据来插入
insert into <表名> [<字段名>,<字段名>..] select ....
INSERT INTO customers (cid, ctruename, cpassword, csex, cmobile, cregisterdate ) SELECT
'c0080',
ctruename,
cpassword,
csex,
cmobile,
cregisterdate
FROM
customers
WHERE
cid = 'c0011';
修改记录
update 也是DML语句哦(数据操作语言)
- 多指定多个字段,需要用 , 隔开
- 如果修改的字段有默认值,可以用 default 来设置字段的值,如: name = default ,这样就会把字段的值修改成默认值
- where 就不用多说了,一般 update 数据都会指定条件
- 添加 limit 是为了限制被修改的行数,加不加都行
UPDATE
表名
SET
列=新值,
列=新值,
...
WHERE
筛选条件
修改表中的全部数据
update customers;
set csex = '男';
根据条件修改表中的数据
update customers;
set cpassword = 123456789 where csex = '男';
删除记录
- delete 也属于DML语句(数据操纵语句)
DELETE FROM <表名> [WHERE 子句] [LIMIT 子句]
- where 就不用多说了,一般 delete 数据都会指定条件
- 添加 limit 是为了限制被删除的行数,加不加都行
根据条件删除表中的数据
delete from customers where csex = '男'
删除表中的全部数据
『示例』删除商品信息表中的所有信息。完成语句如下所示。
delete from customers;
切记, update和delete如果没有where条件, 后果会很严重...