# 数据操作 ## 插入数据 上面已经创建了一个class表,表的格式为 | name | sex | age | | ---- | ---- | ---- | 所以应该如何添加数据呢? ```sql insert into 表名(字段名,字段名,....) value(值,值,...); ``` 添加数据就是使用上面的格式。 所以class表添加数据的方法就是 ```sql insert into class(name,sex,age) value("张三","男",20); ``` ![图 1](../../images/d0563dc7845cb598cb300066e182aa2067e3fc6216946703fbb6c587a0078c49.png) 出现这样就是添加成功了 虽然到这里应该还有很多疑问,但是没办法一时解释清楚,请带着疑问走下去。 ## 查询数据 已经插入数据了,那么如何查看呢? ```sql select * from 表名; ``` 这样就是查询数据的方法,让我们来试一下。 ```sql select * from class; ``` ![图 2](../../images/4cdefb4aeb27679d91dd50227a7d2efc117dc1f60effabd42677dc9d0dfbdbe9.png) 看到了我们的数据已经出现在里面了,那么插入的数据都已经成功了。 ## 插入数据详解 下面详细来了解一下插入数据的语句 ```sql insert into 表名(字段名,字段名,....) value(值,值,...); ``` 表名就可以不用说了,那么后面的字段名如何写呢? ### 必须是表中含有的字段 就像我们现在的class表,只有name sex 与 age 这三个字段,所以插入的时候是`(name,sex,age)` 如果写一个不存在的字段就会报错,比如下面,我们写一个classname ```sql insert info class(name,sex,age,classname) value("李三","男",20,"一班"); ``` ![图 1](../../images/13ee6d4bd67ad0887098ee2a3ff5cb2ecae4245492c9f7914737eda82c445b8b.png) 现在就报错了 >ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'class(name,sex,age,classname) value("李三","男",20,"一班")' at line 1 翻译一下 > 错误1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用“class(name,sex,age,classname)value(”李三","男",20,"一班")' 在1号线 sql语法错误了,不能写表内没有的字段 ### 可以省略一些字段 举个例子 ```sql insert class(name) value("李四"); ``` ![图 2](../../images/05744f66e8ff044dfd7d26b6c5173b6d38e26946dee5866ab28ef6d090885620.png) 可以成功 查询一下 ![图 3](../../images/cf4c2d67f9e61957ecd9e0b15f88708fa1b082c8466fe58e87f47c6fdd77c857.png) 只有名字 其他的都是null