一.對數據庫,表,記錄---四大操作(增 刪 改 查)
1.操作數據庫
(1)對數據庫(文件夾):進行增加操作
Create database 庫名;
例: Create database db7 ;
查詢庫: show databases;
結果:
+-----------------------------+
| Database |
+----------------------------+
| information_schema |
| db6 |
| db7 |
+-----------------------------+
(2)對數據庫(文件夾):進行刪除操作
Drop database 庫名;
例: drop database db6;
+-----------------------------+
| Database |
+----------------------------+
| information_schema |
| db7 |
+-----------------------------+
(3)對數據庫(文件夾):進行改操作
#更改數據庫字符集
Alter database 庫名 charset 編碼集;
例 alter database db7 charset gbk;
+----------+-------------------------------------------------------------+---------------------------------+
| Database | Create Database | |
+----------+-------------------------------------------------------------+---------------------------------+
| db7 | CREATE DATABASE `db7` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+-------------------------------------------------------------+---------------------------------+
(4)對數據庫(文件夾):進行查操作
查看建庫信息: show create database 庫名;
例: show create database db7;
+----------+-------------------------------------------------------------+---------------------------------+
| Database | Create Database | |
+----------+-------------------------------------------------------------+---------------------------------+
| db7 | CREATE DATABASE `db7` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+-------------------------------------------------------------+---------------------------------+
2.操作表
(1)對表(文件):進行增加操作
create table 表名(字段名 數據類型,....);
例: create table msg(id int primary key auto_increment,name char(10));
查詢: Show tables;
結果:
+-------------------+
| Tables_in_db7 |
+--------------------+
| floatlist |
| msg |
| msg1 |
| str |
+-------------------+
(2)對表(文件):進行刪除操作
drop table 表名;
例: drop table str;
查詢: Show tables;
結果:
+--------------------+
| Tables_in_db7 |
+--------------------+
| floatlist |
| msg |
| msg1 |
+--------------------+
(3)對表(文件):進行改操作
#只更改數據類型modify
alter table 表名 modify 字段名 數據類型;
原數據:
Desc msg1;
+-------+----------+------+-----+---------+----------------+-----------------------+
| Field | Type | Null | Key | Default | Extra | |
+-------+----------+------+-----+---------+----------------+------------------------+
| id | int(11) | NO | PRI | NULL | auto_increment | |
| name | char(10) | YES | | NULL | | |
+-------+----------+------+-----+---------+----------------+------------------------+
例: alter table msg1 modify name varchar(10);
+-------+----------+------+-----+---------+----------------+-----------------------+
| Field | Type | Null | Key | Default | Extra | |
+-------+----------+------+-----+---------+----------------+------------------------+
| id | int(11) | NO | PRI | NULL | auto_increment | |
| name | varchar(10) | YES | | NULL | | |
+-------+----------+------+-----+---------+----------------+-----------------------+
#更改字段名和數據類型 change
alter table 表名 change 字段名 新字段名 數據類型;
例: alter table msg1 change name NAME text;
+-------+----------+------+-----+---------+----------------+-----------------------+
| Field | Type | Null | Key | Default | Extra | |
+-------+----------+------+-----+---------+----------------+------------------------+
| id | int(11) | NO | PRI | NULL | auto_increment | |
| NAME | text | YES | | NULL | | |
+-------+----------+------+-----+---------+----------------+-----------------------+
#更改表名 rename
alter table 表名 rename 新表名;
原表名:
+-------------------+
| Tables_in_db7 |
+---------------------+
| floatlist |
| msg |
| msg1 |
+---------------------+
例: alter table msg1 rename msg2;
| Tables_in_db7 |
+--------------------+
| floatlist |
| msg |
| msg2 |
+--------------------+
#增加字段 add
alter table 表名 add 新字段名 數據類型;
原表字段:
+----+--------+
| id | name |
+----+--------+
| 1 | aa |
+----+--------+
例: alter table msg2 add newone char;
+----+----------+-----------+
| id | NAME | newone |
+----+----------+-----------+
| 1 | aa | NULL |
+----+----------+-----------+
# 刪除字段 drop
alter table 表名 drop 字段名;
例: alter table msg2 drop NAME;
+----+------------+
| id | newone |
+----+------------+
| 1 | NULL |
+----+-------------+
(4)對表(文件):進行查操作
#查看建表語句:
show create table 表名;
例: show create table msg2;
結果:
| msg2 | CREATE TABLE `msg2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`newone` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |
#查看表結構:
desc 表名;
例: desc msg2;
+--------+---------+------+-----+---------+---------------+------------------+
| Field | Type | Null | Key | Default | Extra | |
+--------+---------+------+-----+---------+--------------+--------------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| newone | char(1) | YES | | NULL | | |
+--------+---------+------+-----+---------+--------------+--------------------+
3.操作記錄
(1)對記錄(文件內容):進行增加操作:
Insert into 表名(可指定字段,也可不指定但是值要與表字段對應) values(值1,值2值3...);
例: insert into msg values(null,'dd',55,23,null); (這邊用了auto_increment 所以id 自動加1)
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby |
+----+------+------+------+-------+------------+
| 1 | aa | 255 | 255 | NULL | |
| 2 | dd | 55 | 23 | NULL | |
| 3 | dd | 55 | 23 | NULL | |
| 4 | dd | 55 | 23 | NULL | |
+----+------+------+------+-------+-------------+
(2)對記錄(文件內容):進行刪除操作:
#delete 清除數據但是保留id號.
delete from 表名; (此時若是在insert id會接續之前的id號往下排,也可以自己指定id)
原表數據:
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby| |
+----+------+------+------+-------+------------+
| 1 | aa | 255 | 255 | NULL | |
| 2 | dd | 55 | 23 | NULL | |
| 3 | dd | 55 | 23 | NULL | |
| 4 | dd | 55 | 23 | NULL | |
+----+------+------+------+-------+-------------+
例: delete from msg;
查詢: select * from msg;
結果: Empty set (0.00 sec)
插入: insert into msg values(null,'dd',55,23,null);
再次查詢: select * from msg;
結果:
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby | |
+----+------+------+------+-------+-----------+
| 5 | dd | 55 | 23 | NULL | |
+----+------+------+------+-------+-----------+
#truncate 清除數據不保留id號.
truncate table 表名; (此時若是在insert id會從頭開始)
原數據:
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby | |
+----+------+------+------+-------+-----------+
| 5 | dd | 55 | 23 | NULL | |
+----+------+------+------+-------+-----------+
例: truncate table msg;
查詢: select * from msg;
結果: Empty set (0.00 sec)
插入: insert into msg values(null,'dd',55,23,null);
再次查詢: select * from msg;
結果:
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby | |
+----+------+------+------+-------+-----------+
| 1 | dd | 55 | 23 | NULL | |
+----+------+------+------+-------+-----------+
(3)對記錄(文件內容):進行改操作:
#update
update table 表名 set 字段=值 where 條件;(這邊要加條件否則字段的值會全部改變)
或者update 庫名.表名 set 字段=值 where 條件;
原表數據:
+----+---------+
| id | name |
+----+---------+
| 1 | aa |
+----+--------+
例: update db7.msg set name='ll' where id=1;
+----+--------+
| id | name |
+----+--------+
| 1 | ll |
+----+--------+
(3)對記錄(文件內容):進行查操作:
select (指定某個字段) 字段1,字段2 from 表名;
例: select id,name from msg;
+----+---------+
| id | name |
+----+---------+
| 1 | ll |
+----+---------+
Select * from 表名; 或 select * from 庫名.表名;
例: select * from db7.msg;
+----+------+------+------+-------+-----------+
| id | name | num | num2 | hobby |
+----+------+------+------+-------+-----------+
| 1 | ll | 255 | 255 | NULL | |
+----+------+------+------+-------+-----------+