数据的操作
首先创建一个数据库
mysql> CREATE DATABASE jiuke;
Query OK, 1 row affected
使用该数据库
mysql> USE jiuke;
Database changed
在数据库中创建一个数据表
id为主键,sex默认为男
mysql> CREATE TABLE zyl
-> (
-> id INT PRIMARY KEY,
-> name CHAR(20),
-> sex CHAR(18) DEFAULT "男",
-> grade FLOAT
-> );
Query OK, 0 rows affected
查看创建的数据表
mysql> DESC zyl;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | char(20) | YES | | NULL | |
| sex | char(18) | YES | | 男 | |
| grade | float | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
4 rows in set
为表中所有字段添加数据
INSERT INTO 表名(字段1,字段2,字段3……) VALUES(值1,值2,值3……);
①mysql> INSERT INTO zyl(id,name,sex,grade) VALUES(1,"殇纤陌","女",1314);
Query OK, 1 row affected
INSERT INTO 表名 VALUES(值1,值2,值3……);
②mysql> INSERT INTO zyl VALUES (2,"玖柯","男",520);
Query OK, 1 row affected
查看是否添加成功
select * from 数据表名称;
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 520 |
+----+--------+-----+-------+
2 rows in set
为表中指定字段添加数据
INSERT INTO 表名(字段1,字段2,字段3……) VALUES(值1,值2,值3……);
mysql> INSERT INTO zyl(id,name,grade) VALUES(3,"宫寒",99);
Query OK, 1 row affected
查看是否添加成功
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 520 |
| 3 | 宫寒 | 男 | 99 |
+----+--------+-----+-------+
3 rows in set
添加随意字段
INSERT INTO 表名 SET 字段1=值,字段2=值;
mysql> INSERT INTO zyl SET id=4,name="朱一龙";
Query OK, 1 row affect
查看是否添加成功
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 520 |
| 3 | 宫寒 | 男 | 99 |
| 4 | 朱一龙 | 男 | NULL |
+----+--------+-----+-------+
4 rows in set
同时添加多条数据
INSERT INTO zyl(字段1,字段2,字段3,字段4……) VALUES值1,值2,值3……),(值1,值2,值3……),(值1,值2,值3……);
mysql> INSERT INTO zyl(id,name,sex,grade) VALUES(5,"安然","女",98.5),(6,"河图","男",99.9),(7,"鲑鱼子","女",88.8);
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0
查看添加后的数据表
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 520 |
| 3 | 宫寒 | 男 | 99 |
| 4 | 朱一龙 | 男 | NULL |
| 5 | 安然 | 女 | 98.5 |
| 6 | 河图 | 男 | 99.9 |
| 7 | 鲑鱼子 | 女 | 88.8 |
+----+--------+-----+-------+
7 rows in set
更新数据(把grade的数据全改成99)
UPDATE 表名 SET 修改的字段名=值;
mysql> UPDATE zyl SET grade=99;
Query OK, 6 rows affected
Rows matched: 7 Changed: 6 Warnings: 0
查看修改后的数据表
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 99 |
| 2 | 玖柯 | 男 | 99 |
| 3 | 宫寒 | 男 | 99 |
| 4 | 朱一龙 | 男 | 99 |
| 5 | 安然 | 女 | 99 |
| 6 | 河图 | 男 | 99 |
| 7 | 鲑鱼子 | 女 | 99 |
+----+--------+-----+-------+
7 rows in set
更新数据(把id<4的grade的数据修改成1314)
UPDATE 表名 SET 字段名=值 WHERE 修改条件;
mysql> UPDATE zyl SET grade=1314 WHERE id<4;
Query OK, 3 rows affected
Rows matched: 3 Changed: 3 Warnings: 0
查看修改后的数据表
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 1314 |
| 3 | 宫寒 | 男 | 1314 |
| 4 | 朱一龙 | 男 | 99 |
| 5 | 安然 | 女 | 99 |
| 6 | 河图 | 男 | 99 |
| 7 | 鲑鱼子 | 女 | 99 |
+----+--------+-----+-------+
7 rows in set
删除数据(删除name为安然的数据)
DELETE FROM 表名 WHERE 删除的字段名=值;
mysql> DELETE FROM zyl WHERE name="安然";
Query OK, 1 row affected
查看删除后的数据表
mysql> select * from zyl;
+----+--------+-----+-------+
| id | name | sex | grade |
+----+--------+-----+-------+
| 1 | 殇纤陌 | 女 | 1314 |
| 2 | 玖柯 | 男 | 1314 |
| 3 | 宫寒 | 男 | 1314 |
| 4 | 朱一龙 | 男 | 99 |
| 6 | 河图 | 男 | 99 |
| 7 | 鲑鱼子 | 女 | 99 |
+----+--------+-----+-------+
6 rows in set
使用关键字TRUNCATE删除表中的数据
TRUNCATE TABLE 表名;
mysql> TRUNCATE TABLE zyl;
Query OK, 0 rows affected
查看是否删除成功
mysql> select * from zyl;
Empty set
使用DELETE语句时,每删除一条记录都会在日志中记录,而使用TRUNCATE语句时,不会在日志中记录删除的内容,因此TRUNCATE语句的执行效率比DELETE语句高。