关于学习mysql笔记2.常识

  数据库系统包含:管理数据库的工具、SQL操作管理数据、数据集合。

  常用数据有:sql server 、oracle、ibm db2、informix、sybase、mysql。

  数据库是实体结构+实体联系。

  mysql架构,c/s client/server :步骤如下:

    1.   客户端与服务器,先建立连接(认证);
    2.   客户端发送处理指令(认证通过后);
    3.   服务器处理操作指令,得到处理结果,返回处理结果;
    4.   客户端展示处理结果。

  连接字符集:client 发送数据编码、连接层编码、mysql server内部编码。

  SQL结构化查询语句:DDL数据库定义语言、DML数据管理语言(包括:DQL数据查询语言、DML数据管理语言)、DCL数据控制语言。

  SQL数据库操作语言:

      1. 创建语言:  
        1. 创建数据库 CREATE DATABASE(数据库)  IF NOT EXISTS db_name [选项] ;  (选项可以添加字符集 CHARCTER  SET UTF8 / CHARSET UTF8 ,也可以是校对码UTF8_GENERAL_CI  )
        2. 创建表  CREATE TABLE IF NOT EXISTS tbl_name (列名,类型,约束)[选项];(设置字符集SHARSET UTF8 ,设置引擎 type = "如innodb/heap/isam/myisam)  
        1. 查询语言:
      2. 查询数据库 SHOW DATABASES [选项] ;(选项如 LIKE'db_n%' 显示数据库名符合db_n开头的数据库)
      3. 查询表   SHOW TABLE tbl_name FROM db_name [选项]
          1. 查询数据  SELECT [*/要查询的列【选项】] FROM tbl_name  [筛选条件];
          2. 查询表的所有数据:SELECT * FROM tbl_name;
          3. 查询表列的值符合条件的数据:SELECT 列名 FROM tbl_name WHERER [条件];
            1. 比较运算符BETWEEN...AND...、IN(SET)、LIKE''、IS;
            2. 逻辑运算符AND、OR、NOT;
          4. 排序:SELECT * FROM tbl_name ORDER BY  cou_name [选项];   order by 要放在select 语言后面,desc降序,asc升序;
          5. 分组:SELECT * FRO tbl_name GROUP BY col_name [HAVING 筛选条件];
          6.  【选项】中可放函数:
            1. 合计函数:COUNT(统计总数)、SUM(求和)、AVG(平均数)、MAX(最大值)、MIN(最小值)(用法 SELECT COUNT(col_name) FROM tbl_name ;);
            2. 时间函数:CURRENT_DATE()当前时间、CURRENT_TIME、CURRENT_TIMESTAMP、DATE(datetime)、YEAR/MONTH/DATE、NOW()、DATEDIFF(date1,date2)等;
      4. 删除语言:
        1. 删除数据库或表:DROP [DATABASE/TABLE] IF EXISTS name;
        2. 删除表数据:DELETE FROM tbl_name WHEERE [条件];
      5. 更改语言:
        1. 重命名:RENAME TABLE tbl_name TO new_name;
        2. 更新表结构:
          1. 添加/删除列:ALTER TABLE  [ADD / DROP] (列名 类型 约束);
          2. 修改列:ALTER TABLE CHANGE 旧列名 新列名 类型 约束;
          3. 修改列(不改名):ALTER TABLE MODIFY 列名 类型 约束;
          4. 更新数据:UPDATE tbl_name SET col_name1=espr1,col_name=espr2...SHERE 筛选条件;

  建表原则:1.属性不可再分,字段保证原子性、2.不能出现部分依赖,增加单列关键字、3.不能出现传递依赖;

  类型:(选择列类型,尽量精确,考虑应用语言处理,考虑兼容性)
    数值型:整数TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、UNSIGNED(正数)、ZEROFILL(前导零自动填充);  

        小数FLOAT、DOIBLE、DEXIMAL;

    时间:DATETIME、TIMESTAMP、DATE、TIME、YEAR

    字符:CHAR、VARCHAR、TINYTEXT、ENUM、SET

  列属性/约束:REFERENCE、DEFAULT (默认值)、PRIMARY KEY / UNIQUE KEY (主/外键)、AUTA_INCREMENT、NULL/NOT NULL、COMMENT

  备份:

      1:在命令行操作mysql -u username -p password [databaseName] < /dir/filename

      2:登陆mysql后source操作
          mysql> use dbname;
          mysql> source /dir/filename;

   

 

posted on 2018-01-22 13:12  一去二三里  阅读(135)  评论(0编辑  收藏  举报

导航