MySQL相关知识整理一

1.登录

    shell登录: mysql -u用户名 -p密码 -h服务器名称 -p端口号(默认是3306)

2.退出

    exit;

    quit;

3.常用命令

    select version();//输出版本号

    select now();//输出当前时间

    select user();//输出当前用户

    select database();输出当前数据库

4.常用的数据库管理:

a.创建数据库: create database [if not exists] 数据库名称   [[default] character set 编码方式];//gbk utf8

    b.查看当前服务器下的所有数据库列表: show databases [like '表达式'];

    c.查看刚创建的数据库:  showcreate database 数据库名称;

    d.修改数据库:  alterdatabase 数据名称 default character set utf8;

    e.删除数据库:  dropdatabase [if exists] 数据库名;

f.使用数据库:  use 数据库名称;

 

5.常用的数据库表管理

  a.查看当前数据库中所有的表:  showtables;

  b.创建表:   createtable 表名称(列定义,.....)ENGINE=InnoDB[MyISAM] DEFAULTCHARSET=UTF8;

 

列定义:列名和数据类型//数据表的字段

注意:数据库和数据表不能重名,不能为关键字,名称可以由任意字母、阿拉伯数字、下划线、$组成,可以使用前面的任意字符开头,但是不能用单独的数字;名称的最大长度可为64位字符;

在WINDOWS中,名称对大小写不敏感(不区分大小写),在linux中,严格区分大小写,一般用小写来定义。

 

6.数据类型:

        1.整型                        字节数                     无符号范围       有符号范围

        tinyint:    占一个字节              0-255       -128--127

        smallint:   占两个字节               0-66635     -32768--32767

        mediumint:  占三个字节

        int:        占四位字节

        bigint:     占八位字节

        2.浮点型

            float(M[,D])//占4字节,单精度浮点,-3.4e38--3.4e38,可以保留到小数点后7位

            double(M[,D])//占8字节,双精度浮点,-1.79e308--1.79e308,可以保留到小数点后15位

                M:小数点前后的数字的总位数;D:小数点后的位数

        3.字符型:

            char(N):定长的字符;

            varchar(N):变长的字符

            text:

            tinytext:

            mediumtext:

            longtext:

            enum(值,值,值....):枚举值,最多65535个选项

        4.日期时间:

            date():

 

   7. ***扩展(列定义额外修饰):

        列名  数据类型(长度)   [unsigned] [not null | null][primary key] [auto_increment] [unique [key]] [default 默认值];

        [unsigned]:无符号

        [not null | null]:禁止为空|可以为空

        [primary key]:主键约束,每张表中只能存在一个主键约束,保证数据记录的唯一性,自动禁止为空,自动在该字段上添加主键索引

        [auto_increment]:自动自增编号,具有该属性的字段,必须是数值类型,必须在该字段上创建主键。

        [unique [key]]:值唯一约束,保证数据记录的唯一性,每张表可有多个唯一约束

        [default 默认值]:如果在插入数据记录时,没有明确给该字段赋值时,那么其值就是默认值

 

例子:

createtable user(

    id int(8)  unsigned    not null primary keyauto_increment,

    name varchar(20) not null,

    sex enum('男','女','保密')null default '保密',

    create_time int(10) null

)ENGINE=InnoDBdefault charset=utf8;

 

  c.查看数据表的结构

        show columns from 表名;

  d.修改表:

        alter table 表名 .....;

       

        alter table user ADD COLUMN age int(4)default 20 AFTER name;

        alter table user CHANGE age xingbieint(4) default 30;

        alter table user CHANGE xingbie ageint(4) default 30,CHANGE sex sex smallint(2) NULL DEFAULT 3;

  e.删除数据表

        drop table 表名;//删除表,从数据库中移除

        truncate table 表名;//清空表,数据内容清空,但是表依然在数据库中,并且AUTO_INCREMENT主键自增项会重置

        delete from 表名;//清空表,数据内容清空,但是表依然在数据库中,但是AUTO_INCREMENT主键自增项不会重置

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值