mysql的操作1

首先打开数据库(Linux):service mysql start(关闭数据库  service mysql stop)

window下:net start mysql(关闭数据库 net stop mysql)(卸载 sc delete mysql)

然后输入密码:mysql -uroot -p密码

进入mysql后开始操作(本文字段和表头都是一个意思)

1.数据库的相关操作

查看所有的数据库 show databases;

创建数据库  create database 数据库名;

删除数据库 drop database 数据库名

mysql数据库的名称在黑窗口下是无法直接修改的,如果必须要修改数据库的名称,可以先将数据库的数据导出,然后再导入一个新命名的数据库,数据库的导入和导出不必再mysql中执行,只需在命令行窗口执行节课。

数据库导出的语句是:mysqldump -uroot -p 数据库名 >path( 导出文件的地址 文件要以.sql结尾)

数据库导入的语句:mysql -uroot -p  数据库名

另外我们还可以在mysql中查看数据库:show database like “ ”

%代指字符,代指的字符长度没有限制,_代表一个字符,_的用法和%相似,这里不做赘述。

查看数据库的定义语言:show create database 数据库名;

查看表的定义语言:show create table 表名;

有上可知mysql的默认编码为latin1,但大部分情况我们用的编码是utf8(数据库中utf-8记为utf8),此时我们需要修改表的编码,修改表的编码:alter table 表名 charset “utf8;

修改数据库的编码:alter database 数据库名 charset "gbk";

2.表的基本操作

这里只讲解单表的基本操作,包括表的创建,及表的增删改查

表是要储存在数据库中的,要想进入一个数据库之中,只需输入:use 数据库名;

当我们进入数据库之后如何确定是否进入了呢?此时只需输入一个命令即可;

输入:select database();

在创建数据表之前,我们要先查看数据库包含的表以避免表明重复;

查看数据库包含的表:show tables;

2.1创建表

创建表的时候为了避免表名的重复执行的操作 drop table if exists 表名

创建table  

create table 表名 (字段1 类型 [约束条件],

字段2 类型 [约束条件],

use字段3 类型 [约束条件],

......

字段n 类型 [约束条件]);

常见的约束条件有五种,分别是 1.主键 、2.外键、3.空、非空 4.默认、5.互异 

主键,表的数据的唯一标识符,用来区分数据,为了方便表的查询,每一个表都应该有主键,主键的约束条件用primary key表示。外键这里不做讲述,在多表的查询时我们再做详细的描述。空和非空是指一个表中数据是否允许空,由于mysql默认是允许空的,所以只有不允许空时才做添加非空not null做约束条件。默认,默认去某值,约束条件用default。互异,及表的某个字段的数据不允许相同,约束条件用unique.

下面我们来创建一个表:

当表创建完成之后,我们可以通过desc/describe 表名; 或show columns from 表名; 来查看表的结构

2.2表的增加

表的增加有两种,第一种是向表中增加数据,第二种是对字段的操作,比如说为字段添加一个约束条件,或者添加一个字段等等。

2.2.1 向表中添加数据

向表中插入数据有两种方式,第一种方式:insert into 表名(字段1,字段2,...,字段n) values(值1,值2,...值n);这种方式插入数据时字段和值一一对应,有些字段允许为空时,这些字段不添加任何数据,insert语句中字段不必填入,另外这种添加方式字段的顺序可以打乱,只要保持字段和值一一对应即可。

另一种方法:insert into 表名 values(值1,值2,...值n);

如果有 auto_increment修饰或者default约束条件,在insert语句中可以用null或者default代替。

查看表:select * from 表名;

2.2.2 字段的添加

在添加之前我们应该首先查查一下表的相关信息,这是用show create table 表名;

向表中添加字段:alter table 表名 add 字段 数据类型 字段约束;

我们向表中添加一个字段 address varchar(500);

查看表的表头及其属性desc 表名 (或者  describe 表名);

2.3表的修改

2.3.1 字段的属性修改

alter修改表的属性:alter table 表名 modify 表头 数据类型;

表的字段名的修改:alter table 表名 change 字段名 新的字段名 数据类型 约束条件;

2.3.2表的数据的修改

表的数据更改:update tablename set 字段1=新值1,字段2=新值2,...,字段n=新值n where condition;(不带条件全部更新)

2.3.3 修改表的名字

修改表的名字有两种方式

第一种:alter table oldTableName rename to newTableName;  

第二种:rename table oldTableName to newTableName;

2.3.4修改表的引擎和编码

修改表的引擎:alter table 表名 engine "引擎名";

修改表的编码:alter table 表名 charset "编码名";

词语局在文章开头修改数据库的编码时已经操作过这里不做描述。

2.4 表的删除

2.4.1 表中数据删除

表中的数据删除:delete from 表名 where 条件(不带条件全部删除);

若表中数据有主键且主键有auto_increment属性,那么用delete删除最大的索引x,继续向表中增加数据,其索引是x+1;

truncate删除主要是用来删除表的 数据字典不记录操作记录

若表中的数据有主键且主键有auto_increment属性,那么用truncate删除最大的索引x,继续向表中增加数据,其索引是x。

2.4.2 字段删除

字段删除:alter table 表名 drop 字段;

2.4.3 表的删除

先创建一个text的表。

表的删除:drop table 表名;

删除还有另外一种方法:truncate 表名;

本人不赞同用truncate语句去删除表,因为truncate删除的表找不回来。所以使用truncate命令式需要慎重考虑。

2.5表的查看

查看表的所有内容:select * from 表名 ;

查看表的部分内容:select  表头1,表头2,...表头n from 表名 ;

查看满足where 条件的内容:select  表头1,表头2,...表头n from 表名  where condition;

表的查看操作在下个微博再向大家介绍,这里到此为止。

你可能感兴趣的:(mysql的操作1)