1. 程式人生 > >Sql 庫和表的基本操作、基本數據類型

Sql 庫和表的基本操作、基本數據類型

time 復制表結構 小數 ask oot fault 年份 sign 基本數據

一、數據庫的基本操作

  基本操作:

  1、查看當前數據庫:show databases;

  2、進入到指定的數據庫:use [數據庫名],

  數據庫的增刪改查:

  1、創建數據庫:create database [數據庫名]

  2、刪除數據庫:drop database [數據庫名]

  3、修改數據庫的編碼:alter database [數據庫名] charset gbk;

  4、查看當前數據庫:select database();

    show create database [數據庫名];

二、表的基本操作

  基本操作:

  1、查看當前數據庫裏的表:show tables;

  表的增刪改查

  1、創建表:

    create table [表名] (字段+約束)

  2、刪除表:

    drop table [表名],

  3、修改表:

    update db1.t1 set name=‘Andey‘ where id=2;

  4、查詢表

    查詢所有select * from [表名]

    根據條件查詢:where 條件

    查詢字段:select id,name.......

  5、復制表

    create table t2 select * from t1 ( 既復制表結構也復制表內容 );

    create table t2 select * from t1 where 1>2; (只復制表結構) 或:create table t2 like db1.t1;

三、表的存儲引擎

  create table t1 ( id int ) engine = innodb;(默認引擎)

  create table t2 (id int ) engine = myisam;

  create table t3(id int)engine=memory;(做緩存,退出後表的數據消失)
  create table t4(id int)engine=blackhole;(無論往表裏怎麽插數據,都為空)

四、數據的基本類型:

  1、整型(默認使用就行)

  包括tinyint 、smallint 、int 、bigint

  有符號:

  無符號:

  2、float單精度類型:

      float(m,d)m表示小數點前後位的個數,d 表示小數點後的個數

    double雙精度類型:

      double(m,d)相同

    float、double兩者表示的範圍不一樣隨著小數點後的位數增多,表示的數值越來越不準確

    decimal 精確表示小數,隨著小數點後的位數增多,數值一直精準

  3、日期類型

    year:表示年份如1998,2000

    date:YYYY—MM—DD用now()表示年 月 日

    time:HH:MM:SS 用now()表示 時 分 秒

    datetime:YYYY—MM—DD , HH:MM:SS Now() 年 月 日,時 分 秒

  4、char()和varchar()

    查詢: select @@sql_mode;

    https://www.cnblogs.com/majj/p/9167178.html

    在使用char_length()查詢長度的時候char 和varchar()

    如:select x,length(x),y,length(y) from t1;

char()會將字符裏的空格刪除,顯示非空的字符長度(可以通過修改sql_mode修改char的顯示)

    varchar()會將字符完全顯示出來 包括空格

  5、枚舉和集合類型

    enum(‘x1 ‘ , ‘ x2‘ ,‘ x3 ‘......)相當於單選

    set(‘b1 ‘ , ‘b2 ‘ , ‘ b3 ‘ , ‘ b4 ‘ ......)可以選中多個

     create table usetable(
       -> id int,
       -> name varchar(20),
      -> sex enum(‘male‘,‘female‘,‘other‘),
      -> fav set(‘football‘,‘basketball‘)
      -> );

     insert into usetable values
    -> (1,‘alex‘,‘male‘,‘football,basketball‘);

五、完整性約束:  

  PRIMARY KEY (PK) #標識該字段為該表的主鍵,可以唯一的標識記錄
  FOREIGN KEY (FK) #標識該字段為該表的外鍵
  NOT NULL #標識該字段不能為空
  UNIQUE KEY (UK) #標識該字段的值是唯一的
  AUTO_INCREMENT #標識該字段的值自動增長(整數類型,而且為主鍵)
  DEFAULT #為該字段設置默認值
  UNSIGNED #無符號
  ZEROFILL #使用0填充

  1、not null 與 default 約束同一個字段

   當未添加數據時 會自動設置為 默認值

      create table student2(
     -> id int not null,
    -> name varchar(50) not null,
    -> age int(3) unsigned not null default 18,
      );

  

Sql 庫和表的基本操作、基本數據類型