環境: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
.....................今天就先到這里吧!!!