你的位置:首页 > 数据库

[数据库]mysql数据库增、删、改、查等基本命令


测试环境:windows7 64位 mysql.exe、Navicat Lite for MySQL、mysql 5.0.18

mysql数据库的结构:
数据库(database)包含多个表(table);表包含多个属性列(column);属性列包含多个数据(data);属性列具有四个信息(field,type,null,key,default)。

我们要做得工作就是对database、table、column、data进行增、删、改、查四种操作,一共4*4=16种命令。

 

1.1 增 database    --创建一个数据库
create database databaseName;   --创建名为databaseName的数据库

例:create database mydb;

 

1.2 删 database    --删除一个数据库
drop database databaseName;   --删除名为databaseName的数据库

drop database if exists databaseName;  --如果存在数据库databaseName,则删除

 

1.3 改 database

未知

 

1.4 查 database
show databases;    --显示所有database的databaseName

select database();  --显示当前database的databaseName

 

2.1 增 table      --创建一个表,创建表时至少有一个column,否则报错
create table tableName
(
columnName1 <属性信息>
[,primary key(columnName)]    --也可在此定义主键(primary key),[]中内容可有可无
[,foreign key( columnName1 ) reference tableName2(columnName2)] /*定义外键columnName1是当前表已经定义的column,tableName2是另一个已经定义的表名,columnName2是另一个表   的column名字*/
)[comment[=]'table的描述内容'];
--<属性信息>:typeName[null|not null][default defaultValue] [primary key][auto_increment][comment 'column的描述内容'][identity(起始值,递增量)]
--null|not null:空或非空
--default defaultValue:默认值
--auto_increment:从1或当前最大值开始自动增加1,与identity(1,1)一样

例:

create table mytable

(

  id   int(8)   not null   auto_increment   comment '表的主键'   primary key,

  name char(10)   not null   default '无',

  foreign key(id) reference mytable1(id_1)

)comment='我的表';

 

2.2 删 table --删除表
drop table tableName1 [,tableName2] --可删除一个或多个表,默认为当前数据库中的表
drop table databaseName.tableName --删除databaseName中名为tableName的表

 

2.3 改 table    --改变表的名字
rename table tableName to tableName_new [,tableName1 to tableName_new1]; --将名为tableName的表重命名为tableName_new
alter table tableName rename to tableName_new; --同上

 

2.4 查 table  --查看表的名字
show tables from databaseName;    --显示databaseName的所有tableName
show tables;    --显示当前database的所有tableName(use databaseName;--进入某个数据库)

 

3.1 增 column
alter table tableName add [column] columnName <属性信息>;   --插入columnName,<属性信息>参考2.1

例:alter table mytable add age int(2) default 0;

alter table tableName add [column] columnName <属性信息> after columnName1;  --在columnName1后插入columnName

 

3.2 删 column
alter table tableName drop [column] columnName;  --删除columnName

 

3.3 改 column
alter table tableName modify columnName <属性信息>;  --修改columnName的<属性信息>

例:alter table mytable modify age int(4);

alter table tableName change columnName columnName_new <属性信息>;   --修改columnName的名字为columnName_new及其<属性信息>

 

3.4 查 column --查看表中所有column的columnName及其信息
describe tableName; --查看表名为tableName中的所有column的columnName及其<属性信息>
show columns from tableName;--同上

 

4.1 增 data

insert into tableName(columnName1,columnName2[,columnName3])
values(value1,value2[,value3])[,(value_1,value_2[,value_3])]; --插入一行或多行数据

例:insert into mytable (name,age) values('Bob',20),('Linda',21);

 

4.2 删 data

truncate table tableName;    --清空tableName中的数据

delete from tableName;      --同上

delete from tableName where <条件语句>;  --删除满足<条件语句>的数据行

例:delete from mytable where age=20;

 

4.3 改 data

update tableName set <columnName=data> where <条件语句>;  --改变满足<条件语句>的行中columnName的数据为data

例:update mytable set age=22 where name='Bob';

 

4.4 查 data

select columnName1[,columnName2] from tableName where <条件语句>;  --查找满足<条件语句>的属性名为columnName1[,columnName2]的数据

例:select name,age from mytable where id=2;

select * from tableName where <条件语句>;  --查找满足<条件语句>的数据行

 

参考:http://www.w3school.com.cn/sql/index.asp

   http://blog.csdn.net/Sunboy_2050/article/details/5131863