mysql_語法總結


環境:mysql 5.5

創建數據庫test:

1 create database test;

我們執行代碼就可以創建test數據庫了,如果想要查看我們是否創建好了數據庫test,我們可以通過一下代碼查看mysql中的所有數據庫

show databases;

在我機器上面查詢出來的是:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| drp                |
| duona              |
| expert             |
| jeecgv3            |
| mysql              |
| performance_schema |
| sample             |
| test               |
| test_uuuu_test     |
+--------------------+
10 rows in set

我們可以看到,在數據庫中我們已經創建好了test數據庫了。

現在我們就選定了test數據庫了,接下來如果我們希望刪除test數據庫,我們只需要使用下面的sql語句即可:

mysql> drop database test;
Query OK, 0 rows affected

現在我們再次查詢mysql中所有的數據庫情況:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| drp                |
| duona              |
| expert             |
| jeecgv3            |
| mysql              |
| performance_schema |
| sample             |
| test_uuuu_test     |
+--------------------+
9 rows in set

可以發現,test數據庫已經被我們刪除。

//回到test沒被刪除的狀態

現在我們需要操作test數據庫,我們可以使用下面代碼,選擇數據庫test:

mysql> use test;
Database changed

我們需要查看test數據庫中現在有多少張表,可以使用:

mysql> show tables;
Empty set

我們可以清楚的看到,現在test中是沒有任何表的。

那么現在我們就往里面添加一張表吧!

mysql> create table student(id int not null primary key,name varchar(20) not null unique);
Query OK, 0 rows affected

我們往test數據庫中添加了一張student表,表中有id,name字段。

現在再看一下test中的表情況:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student        |
+----------------+
1 row in set

你會發現,現在增加了student表了。

我們也可以看看student的表機構情況:

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | NO   | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set

所以對於上面的創建student表的sql語句的大概意思你可以猜出來了吧:

student表有id,name兩個字段,對於id字段,類型是int整形,mysql默認長度是11,id字段不能為null,即不能為空,id字段為主鍵,即primary key,沒有默認值

對於name字段,和id字段差不多,類型為varchar類型,長度為20,不能為空,在表中時唯一的(unique,在同一個表中不能出現相同的值),沒有默認值

現在我們想在student表中增加一個字段age,類型為int類型:

mysql> alter table student add age int;
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

我們再看看表的結構:

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | NO   | UNI | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set

說明我們確實是增加了age這個字段。

現在我們需要增加生日birthday字段,類型為date類型:

mysql> alter table student add birthday date;
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

我們查看student表結構:

mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(20) | NO   | UNI | NULL    |       |
| age      | int(11)     | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set

我們增加了birthday字段,並且類型為date類型。

現在我們需要刪除birthday字段:

mysql> alter table student drop column birthday;
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

查看表結構:

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | NO   | UNI | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set

說明刪除成功!

現在向student表中插入數據:

mysql> insert into student values(1,'hongten',20);
Query OK, 1 row affected
mysql> insert into student(id,name,age) values(2,'hanyuan',30);
Query OK, 1 row affected

這兩中方式,都是向student表中插入數據,第一種方式沒有寫出字段名稱,而后面的值是所有字段的值。

而第二種方式是把字段都寫了出來,后面跟的是字段對於的值。

現在查詢student表:

mysql> select * from student;
+----+---------+-----+
| id | name    | age |
+----+---------+-----+
|  1 | hongten |  20 |
|  2 | hanyuan |  30 |
+----+---------+-----+
2 rows in set

可以看出我們剛才插入的兩組數據已經保存到數據庫中了,現在對一個字段查詢:

mysql> select name from student;
+---------+
| name    |
+---------+
| hanyuan |
| hongten |
+---------+
2 rows in set

上面只是針對name字段的查詢;

現在進行條件查詢:

mysql> select name,age from student where id = 2;
+---------+-----+
| name    | age |
+---------+-----+
| hanyuan |  30 |
+---------+-----+
1 row in set

針對student表中的name,age查詢,條件是id=2的記錄;

現在查詢student表中的記錄總數:

mysql> select count(*) from student;
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set

查詢不同name的student:

mysql> select distinct(name) from student;
+---------+
| name    |
+---------+
| hanyuan |
| hongten |
+---------+
2 rows in set

修改id=2的name字段:

mysql> update student set name = 'Tom' where id =2;
Query OK, 1 row affected
Rows matched: 1  Changed: 1  Warnings: 0

查詢student表:

mysql> select * from student;
+----+---------+-----+
| id | name    | age |
+----+---------+-----+
|  1 | hongten |  20 |
|  2 | Tom     |  30 |
+----+---------+-----+
2 rows in set

現在刪除id=2 的記錄:

mysql> delete from student where id = 2;
Query OK, 1 row affected

mysql> select * from student;
+----+---------+-----+
| id | name    | age |
+----+---------+-----+
|  1 | hongten |  20 |
+----+---------+-----+
1 row in set

.....................今天就先到這里吧!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM