數據庫的建立,數據的增刪改查

數據庫的建立,數據的增刪改查

顯示數據庫
mysql

mysql> show databases;sql

+--------------------+數據庫

| Database           |spa

+--------------------+orm

| information_schema |排序

| mysql              |rem

| performance_schema |it

| sys                |io

+--------------------+table

4 rows in set (0.03 sec)

建立數據庫(下面的方式建立的只支持英文)

mysql> create database emydb;

Query OK, 1 row affected (0.00 sec)

顯示數據庫,有新增的數據庫

mysql> show databases;

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

| Database           |

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

| information_schema |

| emydb              |

| mysql              |

| performance_schema |

| sys                |

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

5 rows in set (0.00 sec)

這樣建立的數據庫只能支持英文輸入

mysql> show create database emydb;

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

| Database | Create Database                                                  |

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

| emydb    | CREATE DATABASE `emydb` /*!40100 DEFAULT CHARACTER SET latin1 */ |

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

1 row in set (0.00 sec)

刪除數據庫(實際使用中,不要刪數據庫)

mysql> drop database emydb;

Query OK, 0 rows affected (0.04 sec)

從新建立數據庫,要支持英文和中文

 

mysql> create database TestDB charset utf8;

Query OK, 1 row affected (0.00 sec)

mysql> show create database TestDB;

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

| Database | Create Database                                                 |

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

| TestDB   | CREATE DATABASE `TestDB` /*!40100 DEFAULT CHARACTER SET utf8 */ |

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

1 row in set (0.00 sec)

建立表:

mysql> use TestDB; 切換數據庫

mysql> create table student(id int auto_increment,name char(32) not null,age int not null,register_date date not null,primary key (id));建立表

mysql> show tables;查看錶

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

| Tables_in_TestDB |

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

| student          |

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

1 row in set (0.00 sec)

mysql> desc student;查看錶結構:

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

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

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

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

| name          | char(32) | NO   |     | NULL    |                |

| age           | int(11)  | NO   |     | NULL    |                |

| register_date | date     | NO   |     | NULL    |                |

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

4 rows in set (0.00 sec)

mysql> insert into student(name,age,register_date) value('emy',42,'2018-08-16'); 插入一條數據

Query OK, 1 row affected (0.07 sec)

(其中id顯示爲遞增,不須要插入數據;可屢次插入不一樣的數據)

mysql> select * from student;查看錶數據

mysql> select * from student;

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

| id | name    | age | register_date |

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

|  1 | emy     |  42 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | barbie  |   6 | 2018-08-16    |

|  4 | barbie  |   1 | 2018-08-16    |

|  5 | fanwen  |  28 | 2018-08-16    |

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

5 rows in set (0.00 sec)

mysql> select * from student limit 2 offset 2;查看從3開始的兩條數據

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

| id | name   | age | register_date |

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

|  3 | barbie |   6 | 2018-08-16    |

|  4 | barbie |   1 | 2018-08-16    |

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

2 rows in set (0.00 sec)

 

mysql> select * from student where id>3;條件查詢(查詢ID大於3的全部數據)

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

| id | name   | age | register_date |

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

|  4 | barbie |   1 | 2018-08-16    |

|  5 | fanwen |  28 | 2018-08-16    |

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

2 rows in set (0.02 sec)

mysql> select * from student where id>3 and age<28; 組合條件查詢(id>3和age<28)

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

| id | name   | age | register_date |

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

|  4 | barbie |   1 | 2018-08-16    |

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

1 row in set (0.00 sec)

mysql> select * from student where id=4;(指定條件查詢)

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

| id | name   | age | register_date |

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

|  4 | barbie |   1 | 2018-08-16    |

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

1 row in set (0.00 sec)

mysql> select * from student where register_date like "2018-08%";(模糊查詢)

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

| id | name    | age | register_date |

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

|  1 | emy     |  42 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | barbie  |   6 | 2018-08-16    |

|  4 | barbie  |   1 | 2018-08-16    |

|  5 | fanwen  |  28 | 2018-08-16    |

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

5 rows in set, 1 warning (0.00 sec)

mysql> select * from student ;查看原始表,下面對其進行修改

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

| id | name | age | register_date |

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

|  1 | emy  |  28 | 2018-08-16    |

|  2 | emy  |  28 | 2018-08-16    |

|  3 | emy  |  28 | 2018-08-16    |

|  4 | emy  |  28 | 2018-08-16    |

|  5 | emy  |  28 | 2018-08-16    |

|  6 | emy  |  28 | 2012-08-16    |

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

mysql> update student set name='battier',age=6 where id =2;修改id=2的name爲battier,age=6

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student ;

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

| id | name    | age | register_date |

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

|  1 | emy     |  28 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | emy     |  28 | 2018-08-16    |

|  4 | emy     |  28 | 2018-08-16    |

|  5 | emy     |  28 | 2018-08-16    |

|  6 | emy     |  28 | 2012-08-16    |

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

6 rows in set (0.00 sec)

mysql> update student set name='barbie',age=0.5 where id =3;

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student ;

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

| id | name    | age | register_date |

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

|  1 | emy     |  28 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | barbie  |   1 | 2018-08-16    |

|  4 | emy     |  28 | 2018-08-16    |

|  5 | emy     |  28 | 2018-08-16    |

|  6 | emy     |  28 | 2012-08-16    |

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

6 rows in set (0.01 sec)

mysql> mysql> update student set name='jingxi',age=18 where id>4;按條件批量生產

mysql> select * from student ; 

| id | name    | age | register_date |

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

|  1 | emy     |  28 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | barbie  |   1 | 2018-08-16    |

|  4 | fanwen  |  33 | 2018-08-16    |

|  5 | jingxi  |  18 | 2018-08-16    |

|  6 | jingxi  |  18 | 2012-08-16    |

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

6 rows in set (0.00 sec)

mysql> delete from student where name = "jingxi"; 條件name=jingxi數據都刪除

Query OK, 2 rows affected (0.05 sec)

mysql> select * from student order by id desc ;按照id降序排序顯示(默認爲升序排序)

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

| id | name    | age | register_date |

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

|  4 | fanwen  |  33 | 2018-08-16    |

|  3 | barbie  |   1 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  1 | emy     |  28 | 2018-08-16    |

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

4 rows in set (0.00 sec)

分組統計group by

mysql> select * from student;原始表

mysql> select * from student;  

| id | name    | age | register_date |

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

|  1 | emy     |  28 | 2018-08-16    |

|  2 | battier |   6 | 2018-08-16    |

|  3 | barbie  |   1 | 2018-08-16    |

|  4 | fanwen  |  33 | 2018-08-16    |

|  7 | emy     |  18 | 2017-08-16    |

|  8 | emy     |  18 | 2016-08-16    |

|  9 | emy     |  18 | 2015-08-16    |

| 10 | battier | 100 | 2112-02-26    |

| 11 | battier |  99 | 2111-02-26    |

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

9 rows in set (0.00 sec)

mysql> select name,count(*) from student group by name;統計name

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

| name    | count(*) |

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

| barbie  |        1 |

| battier |        3 |

| emy     |        4 |

| fanwen  |        1 |

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

4 rows in set (0.00 sec)

mysql> select register_date,count(*) from student group by register_date;

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

| register_date | count(*) |

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

| 2015-08-16    |        1 |

| 2016-08-16    |        1 |

| 2017-08-16    |        1 |

| 2018-08-16    |        4 |

| 2111-02-26    |        1 |

| 2112-02-26    |        1 |

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

6 rows in set (0.00 sec)

 

mysql> select register_date,count(*) as stu_num from student group by register_date;取別名

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

| register_date | stu_num |

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

| 2015-08-16    |       1 |

| 2016-08-16    |       1 |

| 2017-08-16    |       1 |

| 2018-08-16    |       4 |

| 2111-02-26    |       1 |

| 2112-02-26    |       1 |

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

6 rows in set (0.01 sec)

 

mysql> select name,sum(age) from student group by name;按名字統計年齡

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

| name    | sum(age) |

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

| barbie  |        1 |

| battier |      205 |

| emy     |       82 |

| fanwen  |       33 |

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

4 rows in set (0.00 sec)

mysql> select name,sum(age) from student group by name with rollup;統計全部學生的age

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

| name    | sum(age) |

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

| barbie  |        1 |

| battier |      205 |

| emy     |       82 |

| fanwen  |       33 |

| NULL    |      321 |

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

5 rows in set (0.00 sec)

mysql> select coalesce(name,'Total_age'),sum(age) from student group by name with rollup;定義學生年齡總數名,對比與上一條語句的不一樣

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

| coalesce(name,'Total_age') | sum(age) |

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

| barbie                     |        1 |

| battier                    |      205 |

| emy                        |       82 |

| fanwen                     |       33 |

| Total_age                  |      321 |

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

5 rows in set (0.00 sec)

相關文章
相關標籤/搜索