版权声明:请多多指教 https://blog.csdn.net/arctic_fox_cn/article/details/82429297
MySQL学习—3
一、基本简单操作
1、删除满足条件的一行数据
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)
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、添加列以修改列的类型属性
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、删除某一列
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、更新数据
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、查看数据库支持的字符集并且改变字符集
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)