对数据库,数据库表的基本操作

一,操作数据库

1.创建数据库

      创建数据库的格式:

CREATE DATABESE [IF NOT EXISTS] db_name [create_specification[,create_specifiction]...]

      大写字母表示是关键字;[]表示可选项;  

      create_specification包括字符集(character set)和校验规则(collate)

create_specification:
    [DEFAULT]CHARACTER SET charset_name;
    [DEFAULT]COLLATE collate_name

      举个例子:创建名为test1的数据库,并带字符集和校验规则(当我们创建数据库没有给定字符集和校验规则时,系统使用默认字符集:utf8;默认校验规则:utf8_general_ci) 

create database [if not exists]test1 charset=utf8 collate utf8_general_ci;

这里对字符集和校验规则做进一步的理解与扩展:

      字符集,character set,就是一套表示字符的符号和这些的符号的底层编码;而校验规则,则是在字符集内用于比较字符的一套规则。下面我简单举个例子来说明一下:如在某个字符集“X”的A与a,他们的底层编码分别是A=0,a=100。这里符号“A”“a”和底层编码“0”“100”就是字符集的概念范围。假设我们要比较A与a的大小,我们得到a>A,因为我们是根据其底层编码进行比较的,这就是这个字符集“X”的一种校验规则“Z”(根据底层编码来比较)。假设,现在有另外一种校验规则,是先取其相反数,然后再比较大小,那么就很显然的得到a<A,这就是字符集“X”的另外一种校验规则“Z1”。由此可见,一种字符集可能存在多个与之对应的校验规则(一对多关系)。

关于字符集与校验规则,mysql支持:
1、使用字符集来存储字符串,支持多种字符集;
2、使用校验规则来比较字符串,同种字符集还能使用多种校验规则来比较;
3、在同一台服务器、同一个数据库或者甚至在同一个表中使用不同字符集或校对规则来混合组合字符串;
4、可以在任何级别(服务器、数据库、表、字段、字符串),定义不同的字符集和校验规则。

   使用show character set 可以查看字符集种类:(Maxlen表示要用最大多少个字节来存储字符集的单个词,default collation表示该字符集的默认校验规则);使用 show character  set  like  ‘latin%’可以进行筛选latin的字符集。

  使用show collation可以查看数据库的校验规则:(这里compiled表示该collation所对应的character set是否被编译到此mysql数据库,通过此点就可以知道该mysql数据库是否支持某个字符集。sortlen表示要在内存中排序时,该字符集的字符要占用多少个字节。)同样也是可以使用like来进行筛选的。

从对字符集和校验规则的观察得到,这里存在一些小特征,如下:
1、两个不同的字符集不能有相同的校验规则(字符集:校验规则 = 1:n);
2、每个字符集都有一个默认的校验规则,就是对应的DEFAULT=YES的那个collation;
3、collation命名规则:字符集名_对应的语言名_ci/cs/bin,其中ci表示大小写不敏感性,bin大小写敏感
 

2.使用数据库

use test1;

3.显示数据库 

显示当前数据库服务中的所有数据库:

show databases;

显示创建语句(前面创建的test1数据库的定义信息):

show create database test1;

4.修改数据库(格式加例子)(主要是修改数据库的字符集和校验规则)

alter database [if not exists] db_name [alter_specification][,alter_specification]
alter database if not exists test1 charset=utf8;

5.删除数据库

drop database [if exists] db_name;
drop test if exists test1;

删除数据库之后的结果:

数据库内部看不到对应的数据库;对应的数据库文件被删除,级联删除,里面的数据表全部被删。 

6.选择数据库

   查看当前所选的数据库

select database();

 7.数据库备份和恢复

(1)备份

语法:

mysqldump -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

注:要在数据库外进行备份才可以

举例如下:备份test数据库到“test.sql”文件中

(2)恢复(还原)

还原数据库时,要进入mysql中,然后source

source  保存路径;

 

注意:如果备份一个数据库时,并没有带上-B参数,在恢复数据库时,需要再创建空数据库,然后使用数据库,然后再source还原。

二,操作数据库表

1.创建数据库表

   指定列名,制定列类型

create table student(
        id int,
        name varchar(32),
        gender varchar(2),
        class  varchar(8)
);

2.查看表

    查看表结构:desc tabName
    查看当前数据库中所有表:show tables
    查看当前数据库表建表语句: show create table tabName;
    查看表的相关信息:show table status        -------显示employee表的信息 :show table status like 'employee' \G;

3.修改表

(1)增加一个score列

alter table student add score varchar(32);

(2)修改 name列,使其长度为60

alter table  student modify name varchar(60);

(3)删除 class列

alter table student drop class;

(4)表名改为user

rename table student to user;

(5)修改表的字符集为gbk

alter table user character set gbk;

(6)列名name修改为username

alter table user change name username varchar(32);

4.删除表

drop table tab_name;
drop table user;

 

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页