首先打开数据库(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;
表的查看操作在下个微博再向大家介绍,这里到此为止。