MySQL 增删改

版权声明:请多多指教 https://blog.csdn.net/arctic_fox_cn/article/details/82429297

MySQL学习—3

一、基本简单操作

1、删除满足条件的一行数据

d e l e t e f r o m t a b l e _ n a m e w h e r e c o l _ n a m e = v a l u e ;

mysql> select * from class;
+----------+-------+--------+------------+
| name     | age   | sex    | birth      |
+----------+-------+--------+------------+
| Alice    |    18 | female | 2000-02-02 |
| Bob      |    19 | male   | 1999-09-09 |
| Corls    |    20 | female | 2001-01-01 |
| Denu     |    21 | female | 1997-03-05 |
| Element  |    21 | male   | 1996-05-05 |
| Fase     |    22 | female | 1000-02-02 |
| Alibaba  |    19 | female | 1997-02-02 |
| liubei   | 12851 | male   | 2003-01-01 |
| zhangfei |    10 | female | 2001-01-01 |
+----------+-------+--------+------------+
9 rows in set (0.00 sec)

mysql> delete from class where name ="Bob";
Query OK, 1 row affected (0.04 sec)

mysql> select * from class;
+----------+-------+--------+------------+
| name     | age   | sex    | birth      |
+----------+-------+--------+------------+
| Alice    |    18 | female | 2000-02-02 |
| Corls    |    20 | female | 2001-01-01 |
| Denu     |    21 | female | 1997-03-05 |
| Element  |    21 | male   | 1996-05-05 |
| Fase     |    22 | female | 1000-02-02 |
| Alibaba  |    19 | female | 1997-02-02 |
| liubei   | 12851 | male   | 2003-01-01 |
| zhangfei |    10 | female | 2001-01-01 |
+----------+-------+--------+------------+
8 rows in set (0.00 sec)

#可以使用delete 删除整个table中的数据,但table依旧存在
mysql> select * from s;
+------+
| e    |
+------+
| X    |
| XL   |
| L    |
| XXl  |
| XXXL |
+------+
5 rows in set (0.00 sec)

mysql> delete from s where 1;
Query OK, 5 rows affected (0.06 sec)

mysql> select * from s;
Empty set (0.00 sec)
2、删除数据表(table)

d r o p t a b l e t a b l e _ n a m e

mysql> drop table s;
Query OK, 0 rows affected (0.14 sec)

mysql> describe s;
ERROR 1146 (42S02): Table 'sampdb.s' doesn't exist
3、添加列以修改列的类型属性

a l t e r t a b l e t a b l e _ n a m e a d d c o l _ n a m e c o l _ t y p e c o l _ u n i q u e _ a t t r i b u t e c o l _ g e n e r a l _ a t t r i b u t e

a l t e r t a b l e t a b l e _ n a m e m o d i f y c o l _ n a m e c o l _ t y p e c o l _ u n i q u e _ a t t r i b u t e c o l _ g e n e r a l _ a t t r i b u t e

mysql> describe school;
+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name           | varchar(36)      | NO   |     | NULL    |                |
| state          | varchar(36)      | NO   |     | NULL    |                |
| establish_date | date             | NO   |     | NULL    |                |
| status         | enum('off','on') | NO   |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

mysql> alter table school modify state varchar(4);
Query OK, 3 rows affected (0.73 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> describe school;
+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name           | varchar(36)      | NO   |     | NULL    |                |
| state          | varchar(4)       | YES  |     | NULL    |                |
| establish_date | date             | NO   |     | NULL    |                |
| status         | enum('off','on') | NO   |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
4、删除某一列
a l t e r t a b l e _ n a m e d r o p c o l _ n a m e
mysql> select * from school;
+----+--------+-------+----------------+--------+
| id | name   | state | establish_date | status |
+----+--------+-------+----------------+--------+
|  1 | jiaeda | VA    | 1998-02-02     | off    |
|  2 | beqda  | VC    | 1956-08-08     | off    |
|  4 | bailuw | VB    | 1990-09-01     | off    |
+----+--------+-------+----------------+--------+
3 rows in set (0.00 sec)

mysql> alter table school drop state;
Query OK, 0 rows affected (0.62 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from school;
+----+--------+----------------+--------+
| id | name   | establish_date | status |
+----+--------+----------------+--------+
|  1 | jiaeda | 1998-02-02     | off    |
|  2 | beqda  | 1956-08-08     | off    |
|  4 | bailuw | 1990-09-01     | off    |
+----+--------+----------------+--------+
3 rows in set (0.00 sec)
5、更新数据

u p d a t e t a b l e _ n a m e s e t c o l _ n a m e = v a l u e w h e r e c o n d i t i o n

mysql> select * from school;
+----+--------+----------------+--------+
| id | name   | establish_date | status |
+----+--------+----------------+--------+
|  1 | jiaeda | 1998-02-02     | off    |
|  2 | beqda  | 1956-08-08     | off    |
|  4 | tiahua | 1990-09-01     | off    |
+----+--------+----------------+--------+
3 rows in set (0.00 sec)

mysql> update school set status="on" where name="beida" and id=2;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from school
    -> ;
+----+--------+----------------+--------+
| id | name   | establish_date | status |
+----+--------+----------------+--------+
|  1 | jiaeda | 1998-02-02     | off    |
|  2 | beqda  | 1956-08-08     | on     |
|  4 | tiahua | 1990-09-01     | off    |
+----+--------+----------------+--------+
3 rows in set (0.01 sec)
6、查看数据库支持的字符集并且改变字符集

s h o w c r e a t e d a t a b a s e d a t a b a s e _ n a m e

s h o w c r e a t e t a b l e t a b l e _ n a m e

a l t e r d a t a b a s e d a t a b a s e _ n a m e d e f a u l t c h a r a c t e r s e t c h a r s e t

a l t e r t a b l e t a b l e _ n a m e d e f a u l t c h a r a c t e r s e t c h a r s e t

ysql> show create table class;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                    |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| class | CREATE TABLE `class` (
  `name` varchar(20) NOT NULL,
  `age` int(10) unsigned NOT NULL,
  `sex` enum('male','female') NOT NULL,
  `birth` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)




mysql> alter table class default character set utf8;
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show create table class;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                            |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| class | CREATE TABLE `class` (
  `name` varchar(20) CHARACTER SET latin1 NOT NULL,
  `age` int(10) unsigned NOT NULL,
  `sex` enum('male','female') CHARACTER SET latin1 NOT NULL,
  `birth` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/arctic_fox_cn/article/details/82429297