SQL  Structure  Query Language  结构化查询语言

数据库DataBase  产品:
1:小型数据库     
      Ms Acssess (Office)
      SQLite         移动设备

2:中型数据库
      SQLServer      收费
      MySQL          免费
      DB2

3:大型数据库
      Oracle    甲骨文   

//
SQLServer 数据库的使用

一:开启MySQL数据库服务
       Windows开始  ->  控制面板  ->  管理工具  ->  服务  ->  MySQL

二:打开Navicat for MySQL
    a.新建连接
         连接名:
         主机名或IP地址:localhost  或 127.0.0.1
         端口号:3306
         用户名:
         密码:
     连接测试 ->  测试OK后,点击确定
     
    b.修改连接
       数据库右键  ->  连接属性

    c.删除连接
       数据库右键  ->  删除连接

    d.打开连接
       方法一:数据库右键 -> 打开连接
       方法二:双击数据库连接

三:创建数据库和表
    1.新建数据库
        选中连接,右键 -> 新建数据库

    2.新建表
        选中数据库中的表,右键 -> 新建表

       重点:数据类型

       数据库中的数据类型:
              整型:tinyint         -> byte
                    smallint        -> short
                    int             -> int
                    bigint          -> long

              浮点型:decimal(6,2)     1234.56

              时间类型: datetime
              
              文本类型: char(50)       固定长度的50个字符
                          varchar(50)    动态扩展长度的50个字符
                          text           2G的字节

//
SQL语句学习:

切换数据库视角:
       USE 数据库名称

注释:   --
    快捷键:注释  Ctrl + /
            取消  Ctrl + /

一:创建数据库
       CREATE DATABASE 数据库名称
       DEFAULT CHARACTER SET utf8     设置数据库编码格式
       COLLATE utf8_general_ci        设置排序规则

二:创建数据表
          CREATE TABLE 表名
          (
            列名  类型,
            。。。
          )

三:数据库的约束  Constraint
       1:非空约束   NOT NULL
       2:唯一约束   UNIQUE
       3:主键约束   PRIMARY KEY  = 非空 + 唯一
                标识列   identity( 种子,步长 )
       4:默认约束   DEFAULT
       5:自增       AUTO_INCREMENT

        -- 使用数据库day01
        USE day01;
        
        -- 创建学生表
        CREATE TABLE 学生表
        (
        学号 INT PRIMARY KEY AUTO_INCREMENT ,
        姓名 VARCHAR(6) NOT NULL UNIQUE ,
        年龄 TINYINT ,
        性别 char(1) DEFAULT '男'
        ) AUTO_INCREMENT = 1000;


//
数据库中的  CRUD操作  (增删改查)

//
Create 增加记录  Insert 关键字

    INSERT INTO 表名称 VALUES (值1, 值2,....)
    INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
    
//
Read 查询记录  SELECT 关键字
    SELECT 语句:
        SELECT 列名称 FROM 表名称
        SELECT * FROM 表名称
        
    DISTINCT 语句:(去重复行)
        SELECT DISTINCT 列名称 FROM 表名称
        
    WHERE 语句:
        SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
        
        操作符    描述
        =    等于
        <>    不等于
        >    大于
        <    小于
        >=    大于等于
        <=    小于等于
        BETWEEN    在某个范围内
        LIKE    搜索某种模式

    AND 和 OR 运算符
        SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值
        SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 OR 列 运算符 值
        
    ORDER BY 语句
        SELECT 列名称 FROM 表名称 ORDER BY 列名称 ASC/DESC (升序/降序)
    
//
Update 修改记录  Update 关键字
    
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

//
Delete 删除记录  Delete 关键字

    DELETE FROM 表名称 WHERE 列名称 = 值