首页 > 代码库 > mysql

mysql

       数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

       在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

       数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。

      数据库发展史
      人工管理阶段: 1.数据不保存;2.数据需要由应用程序自己进行管理;3.这一时期基本上没有文件概念数据的组织方式必须由程序员自行设计;4.数据不共享 。

      文件系统阶段:1.数据可以长期保存;2.由专门的软件即文件系统进行数据管理,程序和数据之间由软件提供的存取方法进行转换,使应用程序与数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于算法;3.数据共享性差;4.数据独立性低。

      数据库管理阶段:1.数据结构化;2.数据的共享性好,冗余度低;3.数据独立性高;4.数据由DBMS统一管理和控制。



    简单的DOS命令操作数据库
        启动服务:net start 数据库服务名字
        关闭服务:net stop 数据库服务名字
        连接数据库:mysql -u用户名 -p密码
                   如果出现welcome to mysql.....表示数据库连接成功
        show databases -- 展示该服务器中所有的库
        use 数据库名 -- 选择要使用的数据库
        show tables; --展示该库中所有的表
        select * from 表名 ; 查询指定表中的所有数据
        quit -- 退出当前连接


      建库:
            语法: CREATE DATABASE 数据库名 DEFAULT CHARSET=‘utf8‘;
            CREATE DATABASE ty;
            CREATE DATABASE ty_1 DEFAULT CHARSET=‘utf8‘;

            使用库:
            语法:USE 数据库名;

            删除库:
            语法:DROP DATABASE 数据库名;
            DROP DATABASE ty;

  

      建表语法:
             CREATE TABLE 表名(
             字段1 数据类型 约束,
             字段2 数据类型 约束,
             ...
             字段n 数据类型 约束
            );

数据类型:数据类型分为:数、小数、字符串、时间日期

    数:TINYINT 1字节 -128~127、 SMALLINT 2字节 -32768~32767
           INT     4字节  +- 21亿、BIGINT   8字节 
    小数:FLOAT 、DOUBLE 、DECIMAL(m,n) 精确到小数点后的位数
           (m,n) m表示这个数字的位数,n表示,小数点之后有几位
    字符串:
           CHAR(m)  --m表示该字段可以表述的字符串的长度,最多为255
           VARCHAR(m) --m表示该字段可以表述的长度
           BLOB --用于存储二进制大文件
    时间日期:DATE --表示日期 1000-1-1 ~ 9999-12-31
           TIME --表示时间 00:00:00 ~ 23:59:59
           datetime --1000-1-1 00:00:00 ~9999-12-31 23:59:59


    not null:非空约束,指定某列不为空
    unique: 唯一约束,指定某列和几列组合的数据不能重复
    primary key:主键约束,指定某列的数据不能重复、唯一
    foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据
    check:检查,指定一个表达式,用于检验指定数据


Not null(非空)

     create table temp(        
     id int not null, 

    (id--字段   int--数据类型  not null--非空约束)        
     name varchar(255) not null default ‘abc’,   

   (name原是非空约束,但是若没有输入则默认为abc)     
     sex char null
      );


Unique(唯一)

     create table temp (        
        id int not null,        
        name varchar(25),   (也可以在逗号前面直接输入 unique)        
        password varchar(16),
        constraint uk_name_pwd unique(name, password)
        );

    添加唯一约束 :alter table temp add unique(name, password);
    修改唯一性约束:alter table temp modify name varchar(25) unique; 
    删除约束 :alter table temp drop index name;

Primary key(主键)

    id int primary key
    constraint pk_temp_id primary key(id)
    alter删除主键约束 :alter table temp drop primary key;  
    alter添加主键 :alter table temp add primary key(name, pwd);   
    alter修改列为主键 :alter table temp modify id int primary key;

          设置主键自增:auto_increment
          id int auto_increment primary key,   

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

intsert into 表名values(列名1值,列名2值,列名3值,......);

删除

Delete from 表名;   删除是全部内容

Delete from stu;

查询

Select * from 表名;  查询表的全部内容

Select * from stu;

 

(例子写完再放)

mysql