一、插入数据
插入数据:
insert into 表名(字段名,字段名,字段名,字段名) values(值,值,值,值);
INSERT INTO teacher ( id, name, phone, address )
VALUES
( 1, 'Fleming', '18888888888', 'TianJin' );
查询数据:
SELECT * FROM teacher;
省略简写:
INSERT INTO teacher
VALUES
( 2, 'Jeff', '18888889999', 'BeiJing' );
INSERT INTO teacher
VALUES
( NULL, 'TOM', NULL, NULL );
INSERT INTO teacher
VALUES
( NULL, 'Jack', NULL, DEFAULT );
insert into 表名 values(空值,值,空值,为空时的解释内容);
INSERT INTO teacher ( name, phone, address )
VALUES
( 'Mike', NULL, DEFAULT );
二、一次插入多条数据
insert into 表名 values(空值,值,空值,值为空时的解释内容),(空值,值,空值,值为空时的解释内容);
INSERT INTO teacher VALUES ( NULL, 'Mike_1', NULL, DEFAULT ),( NULL, 'Mike_2', NULL, DEFAULT );
三、删除数据
根据唯一主键删除
delete from 表名 where 条件;
DELETE
FROM
teacher
WHERE
id = 8;
叫Tom的都会删去
(不推荐,容易造成灾难)
DELETE
FROM
teacher
WHERE
name = Tom;
当表中有如下数据时:
删除两条符合条件的数据:
DELETE
FROM
student
WHERE
age > 30;
四、清空表
删除表中所有数据 [遍历删除](不建议):
delete from 表名;
DELETE FROM teacher;
直接删除表,删除后生成一个无数据的新表:
truncate table 表名;
TRUNCATE TABLE student;
五、细节
区别DELETE(遍历删除)和TRUNCATE(清空表)
DELETE遍历删除数据后,再次插入数据,主键紧随删除前的位置递增:
TRUNCATE清空删除数据,再次插入数据,主键从头开始递增:
六、更新数据
update 表名 set 更改字段 where 条件;
UPDATE teacher
SET name = 'Fleming'
WHERE
id = 1;
电话号码为2222的都会删去
(不推荐,容易造成灾难)
因此需要注意where后面的数据
UPDATE teacher
SET name = 'Fleming'
WHERE
phone = 2222;
同时更改多个值:
update 表名 set 更改字段,更改字段 where 条件;
UPDATE teacher
SET name = 'Fleming',
address = 'QingHai'
WHERE
phone = 2222;
根据多个条件更改:
UPDATE teacher
SET address = 'ShangHai'
WHERE
phone = 1111111
OR phone = 2222;
思考根据谁更改,改什么?
七、查询表数据(基本)
查询指定字段内容:
select 字段,字段 from 表名;
SELECT
phone,
address
FROM
teacher;
查询全部内容:
select * from 表名;
SELECT
*
FROM
teacher;
八、SQL语句区分
DDL(data definition language)
数据库定义语言
create、alter、drop、show、
DML(data manipulation language)
数据操纵语言
insert、update、delete、select
DCL(data control language)
数据库控制语言
九、字符集编码问题
show variables like ‘character_set%’
SHOW VARIABLES LIKE 'character_set%'
练习使用的终端支持GBK编码
实际开发过程中都为UTF-8编码
主要关注的是character_set_client和character_set_results
更改编码方式:
SET character_set_%=gbk;