mysql基本增删查改_mysql 表基本增删查改

对表的操作是在某个数据库下才能进行的,所以要先选择数据库 "use 数据库名;"

1、创建数据表

1)"create table 表名 (字段1  类型  [约束],  字段2  类型  [约束]);"  创建数据表

创建学生信息表,包含字段(id,姓名,性别,生日),其中id为主键

mysql>create table stu(-> stu_id intauto_increment primary key,-> name varchar(30) not null,-> gender bit default 1,-> birthday date);

Query OK,0 rows affected (0.01 sec)

2)"show tabales;"  查看当前数据库的所有表

mysql>show tables;+----------------+

| Tables_in_test |

+----------------+

| cls |

| stu |

+----------------+

2 rows in set (0.00 sec)

3)"show create table 表名;"  查看创建表语句

mysql>show create table stu;+-------+-------------------------------------------+

| Table | Create Table |

+-------+-------------------------------------------+

| stu |CREATE TABLE `stu` (

`stu_id`int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(30) NOT NULL,

`gender` bit(1) DEFAULT b'1',

`birthday`dateDEFAULT NULL,

PRIMARY KEY (`stu_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+-------+-------------------------------------------+

1 row in set (0.00 sec)

4)"desc 表名;"  查看表的结构

mysql>desc stu;+----------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+----------------+

| stu_id | int(11) | NO | PRI | NULL | auto_increment |

| name | varchar(30) | NO | | NULL | |

| gender | bit(1) | YES | | b'1' | |

| birthday | date | YES | | NULL | |

+----------+-------------+------+-----+---------+----------------+

4 rows in set (0.00 sec)

2、select查看表中数据

1)"select * from 表名;"   查看所有字段的数据,下边gender列看到什么都没有,因为gender的类型是二进制的位,显示不了字符,在图形界面可以显示如下图。

mysql> select *from stu;+--------+--------+--------+------------+

| stu_id | name | gender | birthday |

+--------+--------+--------+------------+

| 1 | 张三 | | 1990-01-01 |

| 2 | 李四 | | 1991-03-02 |

| 3 | 王五 | | 1995-12-01 |

| 4 | 赵六 | | 1996-01-01 |

+--------+--------+--------+------------+

4 rows in set (0.00 sec)

ef5f8d82ebf028514b0d2d1e6a795cc1.png

2)"select 字段1, 字段2, 字段3  from 表名;"   查看指定字段的数据。

mysql> selectname, birthday from stu;+--------+------------+

| name | birthday |

+--------+------------+

| 张三 | 1990-01-01 |

| 李四 | 1991-03-02 |

| 王五 | 1995-12-01 |

| 赵六 | 1996-01-01 |

+--------+------------+

4 rows in set (0.00 sec)

3、表添加数据

1)"insert into 表名 values(value1, value2, value3...);"  没有指定插入的字段,必须按照字段的顺序全部插入相应的值,自增字段一般以0占空。顺序以表的结构为准,即"desc 表名;"

mysql> insert into stu values(0, '郭靖', 1, '1989-1-1');

Query OK,1 row affected (0.00sec)

mysql> selectstu_id, name, birthday from stu;+--------+--------+------------+

| stu_id | name | birthday |

+--------+--------+------------+

| 1 | 张三 | 1990-01-01 |

| 2 | 李四 | 1991-03-02 |

| 3 | 王五 | 1995-12-01 |

| 4 | 赵六 | 1996-01-01 |

| 6 | 郭靖 | 1989-01-01 |

+--------+--------+------------+

5 rows in set (0.00 sec)

2)"insert into 表名(列1, 列2...) values(value1, value2...);"  只插入指定的值,注意:非空字段一定要有值

mysql> insert into stu(name, gender) values('黄蓉', 0);

Query OK,1 row affected (0.00sec)

mysql> selectstu_id, name, birthday from stu;+--------+--------+------------+

| stu_id | name | birthday |

+--------+--------+------------+

| 1 | 张三 | 1990-01-01 |

| 2 | 李四 | 1991-03-02 |

| 3 | 王五 | 1995-12-01 |

| 4 | 赵六 | 1996-01-01 |

| 6 | 郭靖 | 1989-01-01 |

| 7 | 黄蓉 | NULL |

+--------+--------+------------+

6 rows in set (0.00 sec)

3)"insert into 表名 values(value1, value2..), (value1, value2..)...;"  一次插入多条记录,注意这是mysql特有的,其它数据库并不支持

mysql> insert into stu(name, gender) values('黄蓉', 0), ('杨过', 1), ('小龙女', 0);

Query OK,3 rows affected (0.00sec)

Records:3 Duplicates: 0 Warnings: 0

4、where子句

where子句用于筛选数据

1)从stu中查找郭靖的信息

mysql> select * from stu where name='郭靖';+--------+--------+--------+------------+

| stu_id | name | gender | birthday |

+--------+--------+--------+------------+

| 6 | 郭靖 | | 1989-01-01 |

+--------+--------+--------+------------+

1 row in set (0.00 sec)

2)从stu中查找所有男的

mysql> select * from stu where gender=1;+--------+--------+--------+------------+

| stu_id | name | gender | birthday |

+--------+--------+--------+------------+

| 1 | 张三 | | 1990-01-01 |

| 2 | 李四 | | 1991-03-02 |

| 6 | 郭靖 | | 1989-01-01 |

| 9 | 杨过 | | NULL |

+--------+--------+--------+------------+

4 rows in set (0.00 sec)

5、更改表数据

"update 表名 set 字段1=new-value1, 字段2=new-value2... [where 条件];"更改表数据一般和where子句连用,不用where子句表示更改所有的字段,主键一般不进行更改

1)更改表中张三的出生日期为'2012-12-12'

mysql> update stu set birthday='2012-12-12' where name='张三';

Query OK,1 row affected (0.00sec)

Rows matched:1 Changed: 1 Warnings: 0mysql> select * from stu where name='张三';+--------+--------+--------+------------+

| stu_id | name | gender | birthday |

+--------+--------+--------+------------+

| 1 | 张三 | | 2012-12-12 |

+--------+--------+--------+------------+

1 row in set (0.00 sec)

6、删除数据

"delete from 表名 where 条件;"  delete语句要和where一起使用,不然表示把所有的数据都删除

1)将stu表中的'黄蓉删除'

mysql> delete from stu where name='黄蓉';

Query OK,2 rows affected (0.00sec)

mysql> select * from stu where name='黄蓉';

Empty set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值