MySql学习(上)

来源:互联网 发布:java游戏nba2010中文 编辑:程序博客网 时间:2024/06/05 02:34
什么是数据库,数据库存储数据的,用来操作数据,怎么用,用sql操作
安装的MySql5安装在电脑上的是数据库服务器,一个数据库服务器可以创建多个数据库,一个库里面可以创建多个表,android中操作的多一点的是数据库表,一般一个             应用,一个项目用一个数据库,一个库里面可以用很多个表
数据库是专门处理数据的,所以要比文件的方式更加快,它底层应该也是文件,但它肯定处理过,
     商业数据库是收钱的,oracle,一般都用这个db2,ibm的,银行用的,不差钱,
MySql是关系型数据,什么是关系型,就是用表的形式存储数据的,都接收某种的规则,都由某些属性,像hadoop,就是非关系型的,大数据
SQL:全称Structured Query Language机构化查询语言,
     非过程性语言,所谓非过程性,说的就是和上一句没有任何关系,想java就是过程性的,比如方法的调用,就和之前有关系
     厂商增加功能,叫方言,由美国国家标准局(ASNI),和国际标准化组织(ISO)制定sql标准
----------------------------------------------------------------------------------------------------------------------------------------------------------
一操作数据库
     1,创建数据库
     
     *创建一个名为mydb1的数据库
          CREATE DATABASE db_name;
          create database mydb1
     *创建一个名为mydb2的数据库用gbk字符集
          CREATE DATABASE db_name CHARACTER SET charset
          create database mydb2 character set gbk;
     *创建一个名为mydb3的数据,用utf-8,并带校对规则
          CREATE DATABASE db_name CHARACTER SET charset COLLATE collates
          create database mydb3 character set utf8 collate utf8_bin
     2.查看数据库
     
     *查看所有数据库
          SHOW DATABASES
          show databases;
     *查看mydb4的建库语句
          SHOW CREATE DATABASE db_name;
          show create database mydb4
     3,删除数据库
          
     *删除数据名为mydb1的数据库
          DROP DATABASE db_name
          drop database mydb1
     4,修改数据库

     *修改数据mydb2的字符集为utf8          不管原来的怎么样,直接改变为写成之后的
           ALTER DATABASE db_name CHARACTER SET charset
           alter database mydb2 character set utf8
     5,切换数据库

     *切换到数据库mydb5,没有提供返回上一级的方法,没有必要,
          USE db_name
          use mydb5
     *查看当前操作的数据库
          SELECT DATABASE();
          select database();


创建表的语法
     CREATE TABLE tab_name(
               field1 DATATYPE,
               field2 DATATYPE,
               field3 DATATYPE(注意,最后一个字段没有逗号)
               
     );
字段的类型DATATYPE,
     字符串类型
          varchar(count),  可变长度的字符串类型,括号内为最大长度,当存进去的字段长度小于指定长度时,字段长度会变为存进去的长度 例如,name varchar(20),存的是ab,那么该字段占两个长度,
          char(count),固定长度字符串类型,无论存进去字段长度如何,在数据库中都占指定大小,例如name char(20),存的是a,那么占的长度是20
          
     大数据类型
          BLOB     大二进制,最大四个G,
          TEXT     大文本  最大4个G
     整型
          tinyint
          smallint
          int
          bigint
     浮点型
          float
          double
     逻辑型
          bit  默认为1个bit,1b = 8bit,是就一个二进制位,0或者1
     日期型
          date,time,datetime,timestamp(可以自定修改)

                    
          CREATE TABLE employee(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),gender BIT,brithday DATE,entry_date DATE, job varchar(100),salary DOUBLE, resume TEXT);

查看表(查看要加table或者数据库之所以要加table,或者database是因为关键字一样,为了区分,就要加上table或者database)
     查看表结构
          DESC tab_name
          desc employee,这里desc命令只有一个,所以不用加table
     查看创建表语句
          SHOW CREATE TABLE tab_name
          show create table employee,这里和查看创建数据库区分,所以要加table,因为关键字一样,SHOW CREATE DATABASE mydb
     查看当前库的所有表
          show tables

-------------------------------------重点------------------------------------------------------------
     在上面的员工表的基本上增加一个image列
          alter table employee add image blob;
     修改job列,使其长度为60
          alter table employee job varchar(60);
     删除gender列
          alter table employee drop gender;
     表明改为user表
          rename table employee to user;
     修改表的字符集为gbk
          alter table user character set gbk;
     列名name修改为username;
          alter table user change name username;
     
删除表
     删除上面的练习用表
          drop table user;


0 0