MySQL基础知识

来源:互联网 发布:淘宝下载安装2017官方 编辑:程序博客网 时间:2024/04/25 11:55


MySQL介绍

  1. MySQL AB是由MySQL的创始人和主要开发人创办的公司,瑞典

  2. MySQL—>SunàOracle,现在属于oracle公司

  3. MySQL数据库特点:

  1. 开源

  2. 免费

  3. 跨平台(windows/linux/unix/苹果)

  4. 处理并发性很好(理论上支持13000多个并发),安全稳定

  5. 轻巧,不耗资源,安装文件只有几十M,而且对CPU、内存要求不高

 

MySQL安装和配置

  1. 一般来讲,一台机器装一个MySQL就可以了

  2. 安装和配置见文档MySQL安装图解

 

数据库服务器、数据库和表的关系如图:



MySQL使用


  1. 使用命令行窗口连接MySQL数据库


基本语法:在dos下输入:mysql –u 用户名–p密码


特别说明:-p后面的密码不要留空格!


                     使用该命令的时候需要配置一下环境变量。


  1.  MySQL数据库也提供图形化界面来登录MySQL数据库

  2. 如何在MySQL中创建数据库


基本语法


create database数据库名


  • 创建一个名称为mydb1的数据库

    createdatabase mydb1

  • 创建一个使用utf-8字符集的mydb2数据库


create database mydb2character set utf8


  • 创建一个使用utf-8字符集,并带校对规则的mydb3数据库


create database mydb3character set utf8 collate utf8_general_ci


 


4.MySQL中的一些常用指令


  • 显示数据库:


      show databases;


  • 查看创建数据库的定义信息


show create database数据库名;


 


  • 删除数据库:


drop database数据库名


 


  • 如何指定使用某个数据库


use数据库名


 


  • 如何备份和恢复数据库

    备份:


mysqldump –u用户名–p密码 数据库名 >存放路径


(该指令需要在dos控制台下直接执行)


 


      恢复:


  1. 创建一个数据库:mydb2(但是这个数据库目前是空的)

  2. use 数据库名

  3. source 文件名.sql(mysql控制台执行)


 


  • 创建表(基本语句)

    基本语法:

    Createtable 表名(

           列名列的数据类型,

           列名列的数据类型,

           列名列的数据类型,

          

    )characterset 字符集 collate校对规则

    案例:

    创建一张用户表

    Createtable users(

           Id int,

           Name varchar(64),

           Pwd varchar(64),

           Birthday date

    )


 


 


MySQL数据类型


  1. 数值型


  • Bit(m) m默认为1,最大为64

    案例:

    Createtable test1(id bit(1));

  • TinyInt[unsigned] 

    如果是有符号,则表示范围:-128~127

    如果是无符号0~255;用一个字节存储;

    案例:

    Createtable test3(num tinyint);---(-128~127)

    Createtable test4(num tinyint unsigned);---(0~255)

     

  • SmallInt[unsigned]2个字节存储

    因此它的范围是

    有符号:-2^15~2^15-1

    无符号:0~2^16-1

     

    这里给出参考文档中的总结:


TINYINT[(M)] [UNSIGNED] [ZEROFILL]


一个很小的整数,1个字节存储。有符号的范围是-128127,无符号的范围是0255


SMALLINT[(M)] [UNSIGNED] [ZEROFILL]


一个小整数,2个字节存储。有符号的范围是-3276832767,无符号的范围是065535


MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]


一个中等大小整数,3个字节存储。有符号的范围是-83886088388607,无符号的范围是016777215


INT[(M)] [UNSIGNED] [ZEROFILL]


一个正常大小整数,4个字节存储。有符号的范围是-21474836482147483647,无符号的范围是04294967295


INTEGER[(M)] [UNSIGNED] [ZEROFILL]


这是INT的一个同义词。


BIGINT[(M)] [UNSIGNED] [ZEROFILL]


一个大整数,8个字节存储。有符号的范围是-92233720368547758089223372036854775807,无符号的范围是018446744073709551615


 


  • Float[(M,D)][unsigned],四个字节存储,定长。

    M代表有效位,D代表小数点后有几位。

    案例:

    Create table test5(num float);

    Create table test6(numfloat(5,1));


  • Double8个字节存储

    用法与float类似,只是表示的范围更大了,都是定长。

  • Decimal(M,D)

  • Numeric(M,D)


用于表示小数,或者整数


Create table test7 (num numeric);


什么都不写表示默认存的是整数。看下图:

这样就可以表示有效位为5,小数点有2位的数。


  1. 文本、二进制类型


一览图:


常用的:


  • Char(m)

    M范围是0~255,定长

    Char(20),如果你存放了‘abc’字串,实际在表中是这样的‘abc  17个空格

    Createtable test10(name char(10));

    ☞mysql自带的客户端默认支持utf8码,所以我们在添加中文的时候,需要设置一下,让Client支持GBK


  1. show variables like ‘char%’//显示关于字符的设置参数

  2. set character_set_client=gbk;//可以存中文

  3. set character_set_results=gbk;//可以显示中文

     


  • Varchar(m)

    m表示大小,范围0~65535,变长。

    varchar(20),如果你存放了‘abc’字串,实际在表中就是abc‘;


 


             建议:如果表的某列长度固定,比如产品编号,或者是学号而且是在255之内,我们应当使用char,如果长度不能取得,或者长度大于255小于65535,则使用varchar


 


  • Text

    该类型可以存放更大的字串。


 


 


  1. 日期类型


  • Date

    日期(年,月,日)

    Createtable test10(birthday date);

    对于date,只保存--

  • Datetime

    Createtable test11(hiredate datetime);

    Datetime保存--时:分:秒

  • Timestamp

    邮戳:该类型可以保存--时:分:秒

    它与datetime最大的区别是,当你update某条记录的时候,该列值会自动更新。

    Createtable test12 (name varchar(64),salary float,hiredate timestamp,hiredate2datetime);


建议:如果不知道该不该用timestamp,就不要用!



MySQL修改表结构


 


  • --添加新的列

    Altertable 表名 add列名数据类型

  • --修改列(列的类型和大小)

    Altertable 表名 modify列名新的数据类型

  • --删除某列

    Altertable 表名 drop列名



0 0
原创粉丝点击