顯示數據庫
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)