数据库基本操作3

1.5 数据操作

创建测试表

1
2
3
4
5
6
7
mysql> create table stu(
-> id int auto_increment primary key comment '主键',
-> name varchar(20) not null,
-> addr varchar(50) default '地址不详',
-> score int comment '成绩'
-> );
Query OK, 0 rows affected (0.01 sec)

1.5.1 插入数据

插入一条数据

1
语法:insert into 表名 (字段名, 字段名,…) values (值1, 值1,…)

例题一:插入数据

1
2
mysql> insert into stu (id,name,addr,score) values (1,'tom','上海',88);
Query OK, 1 row affected (0.11 sec)

例题二:插入的字段可以和表的字段顺序不一致。值的顺序必须和插入字段的顺序一致。

1
2
mysql> insert into stu (name,score,addr,id) values ('berry',77,'北京',2);
Query OK, 1 row affected (0.00 sec)

例题三:可以插入部分字段,但是,非空字段必须插入

1
mysql> insert into stu (id,name,addr) values (3,'ketty','上海');

例题四:自动增长字段不用插入,数据库会自动插入增长的数字

1
2
mysql> insert into stu (name,addr) values ('rose','北京');
Query OK, 1 row affected (0.00 sec)

例题五:自动增长列的值插入null即可

1
2
mysql> insert into stu (id,name,addr,score) values (null,'李白','上海',66);
Query OK, 1 row affected (0.00 sec)

例题六:插入值的顺序和个数与表字段的顺序和个数一致,插入的字段可以省略

1
2
mysql> insert into stu values (null,'杜甫','北京',null);
Query OK, 1 row affected (0.00 sec)

例题七:通过default关键字插入默认值

1
mysql> insert into stu values (null,'李清照',default,66);
1
2
脚下留心:
1、插入字段的顺序与值的顺序必须一致

插入多条数据

1
2
3
mysql> insert into stu values (null,'辛弃疾',default,66),(null,'岳飞','河南',77);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0

1.5.2 更新数据

语法:

1
update 表名 set 字段=值 [where 条件]

例题一:将1号学生的地址改成山东

1
mysql> update stu set addr='山东' where id=1

例题二:将ketty的成绩改为99

1
mysql> update stu set score=99 where name='ketty';

例题三:将berry地址改成上海,成绩改成66

1
mysql> update stu set addr='上海',score=66 where name='berry';

例题四:将上海的学生成绩改为60

1
mysql> update stu set score=60 where addr='上海';

例题五:条件可以省略,如果省略,更改所有数据(将所有数据的地址改为湖南,成绩改为70)

1
mysql> update stu set addr='湖南',score=70;

例题六:将2、3的学生成绩改为65

1
mysql> update stu set score=65 where id=2 or id=3;

1.5.3 删除数据

语法

1
delete from 表名 [where 条件]

例题一:删除学号是1号的学生

1
mysql> delete from stu where id=1;

例题二:删除成绩小于等于65分的

1
mysql> delete from stu where score<=65;

例题三:删除表中所有记录

1
mysql> delete from stu;

1.5.4 清空表

语法:

1
truncate table 表名

例题

1
2
mysql> truncate table stu;
Query OK, 0 rows affected (0.00 sec)
1
2
3
脚下留心:delete from 表和truncate table 表区别?
delete from 表:遍历表记录,一条一条的删除
truncate table:将原表销毁,再创建一个同结构的新表。就清空表而言,这种方法效率高。

1.5.5查询表

语法:

1
select 列名 from 表

例题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mysql> select name,score from stu;
+------+-------+
| name | score |
+------+-------+
| rose | 88 |
+------+-------+
1 row in set (0.00 sec)

mysql> select id,name,addr,score from stu;
+----+------+------+-------+
| id | name | addr | score |
+----+------+------+-------+
| 1 | rose | 上海 | 88 |
+----+------+------+-------+
1 row in set (0.00 sec)

mysql> select * from stu; # *表示所有字段
+----+------+------+-------+
| id | name | addr | score |
+----+------+------+-------+
| 1 | rose | 上海 | 88 |
+----+------+------+-------+
1 row in set (0.00 sec)

-------------本文结束感谢您的阅读-------------

本文标题:数据库基本操作3

文章作者:Wuman

发布时间:2018年09月11日 - 18:09

最后更新:2018年09月11日 - 19:09

原始链接:http://yoursite.com/2018/09/11/数据库基本操作3/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。