• MySql数据库基础


    1.数据库概述

    数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

    2.表数据

    根据表字段所规定的数据类型,我们可以向其中填入一条条的数据,而表中的每条数据类似类的实例对象。表中的一行一行的信息我们称之为记录。

    3.Mysql启动与登录 

    MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。

    4.SQL语句

      

    l  SQL分类:

    n  数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

    n  数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等

    n  数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。

    n  数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

    5.通用语法

      

    l  SQL语句可以单行或多行书写,以分号结尾

    l  可使用空格和缩进来增强语句的可读性

    l  MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

    n  例如:SELECT * FROM user。

    l  同样可以使用/**/的方式完成注释

     

    6.数据类型

    分类

    类型名称

    说明

    整数类型

    tinyInt

    很小的整数

    smallint

    小的整数

    mediumint

    中等大小的整数

    int(integer)

    普通大小的整数

    小数类型

    float

    单精度浮点数

    double

    双精度浮点数

    decimal(m,d)

    压缩严格的定点数

    日期类型

    year

    YYYY  1901~2155

    time

    HH:MM:SS  -838:59:59~838:59:59

    date

    YYYY-MM-DD 1000-01-01~9999-12-3

    datetime

    YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59

    timestamp

    YYYY-MM-DD HH:MM:SS  1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC

    7.数据库操作

    创建数据库:

    格式:

        * create database 数据库名;

        * create database 数据库名 character set 字符集;

    查看数据库

      show databases;

    查看某个数据库定义的信息

      show create database 数据库名

    删除数据库

      drop database 数据库名称

    例如:

      

    ###数据库操作

    # 创建数据库 (默认字符集: UTF-8 , 此编码为安装时设置)

    CREATE DATABASE data_1;

    CREATE DATABASE data_2 CHARACTER SET gbk;

     

    #显示所有数据

    SHOW DATABASE;

     

    #显示数据库的创建语句

    SHOW CREATE DATABASE data_1;

    SHOW CREATE DATABASE data_2;

     

    #删除数据库

    DROP DATABASE data_2;

    8.表结构操作

      

    create table 表名(

       字段名 类型(长度) [约束],

       字段名 类型(长度) [约束],

       ...

    );

    类型:

           varchar(n)       字符串

           int                 整形

           double           浮点

           date       时间

           timestamp     时间戳

    约束:

           primary key    主键,被主键修饰字段中的数据,不能重复、不能为null。

    查看所有表

      show tables

    查看表结构

      desc 表名

    删除表

      drop table 表名

    修改表结构样式

      alter table 表名 add 列名 类型(长度) [约束]

    例如:

    CREATE TABLE category(

      cid VARCHAR(20) PRIMARY KEY ,

      cname VARCHAR(50)

    );

    ## 没有主键

    CREATE TABLE category2(

      cid VARCHAR(20),

      cname VARCHAR(50)

    );

    ## 创建表之后,可以查询创建表语句 (数据在可视化视图中显示不全)

    SHOW CREATE TABLE category;

     

    #删除表

    DROP TABLE category2;

     

    #修改表结构 -- 如果SQL语句中使用到关键字,建议使用重音符括住 `

    ##添加字段

    ALTER TABLE category ADD `desc` VARCHAR(50);

    ##修改字段类型

    ALTER TABLE category MODIFY `desc` VARCHAR(100);

    ##修改整个字段

    ALTER TABLE category CHANGE `desc` description VARCHAR(100);

    ##删除字段

    ALTER TABLE category DROP description;

    ##修改表名

    RENAME TABLE category TO category2;

    ##修改字符串

    ALTER TABLE category2 CHARACTER SET GBK;

    9.DML数据库操作语言

      插入表记录

    -- 向表中插入某些字段

    insert into 表 (字段1,字段2,字段3..) values  (值1,值2,值3..);

    --向表中插入所有字段,字段的顺序为创建表时的顺序

    insert into 表 values (值1,值2,值3..);

    注意:

    n  值与字段必须对应,个数相同,类型相同

    n  值得数据大小必须在字段的长度范围内

    n  除了数值类型外,其它的字段类型的值必须使用引号引起。(建议单引号)

    如果要插入空值,可以不写字段,或者插入 null。     

    例如:

    #插入数据

    INSERT INTO category (cid,cname) VALUES('c001','服装');         #相同的语句不能执行2次,主键重复。

    INSERT INTO category (cid,cname) VALUES('c002','奢侈品');

    INSERT INTO category (cid,cname) VALUES('c003','汽车');

     

    #插入部分数据

    INSERT INTO category (cid) VALUES('c004');

    INSERT INTO category (cname) VALUES('测试');  #如果cid为主键,默认值为空字符串,不能为null

     

    INSERT INTO category2 (cid,cname) VALUES('c001','服装');       #如果没有主键约束,数据可以录入多条

    10.更新表记录

      

    update 表名 set 字段名=值,字段名=值,...;

    --更新符号条件记录的指定字段

    update 表名 set 字段名=值,字段名=值,... where 条件;

    删除记录

      

    delete from 表名 [where 条件];

    或者

    truncate table 表名;

    注意:

    删除方式:delete 一条一条删除,不清空auto_increment记录数。

    truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

     

  • 相关阅读:
    [转]Java连接oracle数据库实例
    class.forname().newInstance()
    使用jdbc调用Oracle报错:ORA00911 无效字符
    使用HttpWebRequest需要设置Accept和UserAgent属性
    IIS应用程序池(进程池)假死问题解决办法
    windows调试工具集
    广东电信最新DNS更新了
    Web2.0样式
    一个开源的flash幻灯片展示源码文件
    Microsoft Visio2003 简体中文版 下载
  • 原文地址:https://www.cnblogs.com/learnjfm/p/6870220.html
Copyright © 2020-2023  润新知