MySQL的一些基础总结(一)

 

             

MySQL就是数据库,主要用来存储一些数据。因为MySQL是免费的、开源的,因此常用于一些中小型网站的开发与维护更新。

数据库里常放有多个数据表,即数据库中的table.

下面是一些常用的方法:

      首先,要查看一下有几个数据库:show databases;

            如果没有自己要使用的数据库,就自己在创建一个数据库,创建方法:create database [数据库名];创建一个数据库db2指定字符编码, 校对规则

create database db2 character set utf8 collate utf8_bin;

若有则打开,使用该库,使用方法:use  [数据库名];

      打开要使用的数据库后,查看一下该数据库中的表:show tables;

      将db2的字符编码设置为gbk: alter database db2 character set gbk;

      删除数据库db:drop database [数据库名]

下面就说一下表,表示存在于数据库中的,因此,表必须在一个库中建立,不能脱离库的存在。首先打开自己要存入的数据库:use [数据库名],然后开始建表:

      如:创建表db1,并设置其int型的主键 id,定义一个字符类型的name不能为空,和一个字符类型的major:

Create table db1(id int not null aotu_increment primary key,name varchat(20) mot null,major char(30) );

      刚才用到了char和varchar两种定义字符串长度的不同方法,那么他们究竟有什么区别呢?下面就是二者之间的关系,以及各自的特点:CHAR类型和VARCHAR类型长度范围都是0~255之间的大小。他们之间的差别在于MySQL处理存储的方式:

           CHAR把这个大小视为值的准确大小(用空格填补比较短的值)。

      varchar类型把它视为最大值并且只使用了存储字符串实际上需要的字节数(增加了一个额外的字节记录长度)。因而,较短的值当被插入一个语句为varchr类型的字段时,将不会用空格填补

查看所有表

      SHOW TABLES;

查看表的创建语句

      SHOW CREATE TABLE 表名;

显示表结构

      DESC 表名;

修改表名

      RENAME TABLE 原表名 TO 新表名;

修改字符集

      ALTER TABLE 表名 CHARACTER SET 字符集名;

删除表

      DROP TABLE 表名;

列就是表中的一个字段,现在就来说一下列的兼建起了,     

•         BLOB和TEXT类型

              BLOB是二进制大对象,如果想存储二进制数BLOB将是最佳选择,而TEXT与之相同,只是BOLB按照二进制编码排序(区分大小写),TEXT按照字符文本模式排序(不区分大小写)。

•         ENUM 和SET类型

              是特殊的串类型,其列值必须从固定的串集中选择,二者差别为前者必须是只能选择其中的一个值,而后者可以多选。(

追加列

   ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;

修改列类型

      ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;

修改列

      ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;

删除列

ALTER TABLE 表名 DROP 列名;

插入

语法:

      INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);

注意事项:

      插入值类型必须与对应列的数据类型一致

      数据不能超出长度

      插入值得为之必须与列名顺序一致

      字符和日期数据要放在单引号中

      插入空值使用null

      如果不指定插入哪一列, 就是插入所有列

中文数据

      由于默认码表是utf8, 而cmd.exe的码表是gbk, 在插入中文数据的时候会报错, 所以我们需要修改客户端码表

      先查看系统变量: SHOW VARIABLES LIKE 'character%';

      修改客户端码表: SET character_set_client=gbk;

      这样就解决了中文插入的问题, 但在查询数据的时候仍然显示为乱码, 这是因为mysql向cmd传输数据的时候使用的是utf8

      修改输出数据的码表: SET character_set_results=gbk;

 

      向user表中插入3条包含中文的数据

insert into user(id,username,gender,birthday,entry_date, position,salary,resume)

values(1,'张三','男','1990-9-9', ‘2001-3-3’,'程序员',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(2,'李四','男','1990-9-9','程序员',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(3,'王五','男','1990-9-9','测试',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(4,'赵六','男','1990-9-9','美工 ',6000,'介绍');

修改

语法

      UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句];

注意事项

      WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行

如:

      将所有员工的薪水改为5000

      将姓名为张三的员工薪水改为7000

      给李四加薪3000, 并且职位改为经理

删除

语法

      DELETE FROM 表名 [where 条件语句]

注意事项

      如果不加where子句, 将删除表中所有记录

      delete只能用作删除行, 不能删除某一列的值, 需要用update

      在delete和update的时候需要注意表与表之间的关联关系

      删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用

练习

      删除所有美工

      删除表中所有数据

备份恢复数据库

备份数据库

      输入quit退出mysql, 在cmd.exe中输入:

mysqldump –u用户名 –p密码 数据库名 > 文件名

恢复数据库

      进入mysql.exe之后, 使用数据库之后

      source 文件名

练习:

      备份指定数据库, 删除数据库, 恢复

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值