//创设多少个数据库  ,数据库相关

环境:Win2003+sp1、 Office 2007、 SQL 2005 Express

一、数据库的创建

数据库相关

  • navicat工具创建的数据库(SQLite3)
    • 属性的类型(5种)
      • blob 二进制类型
      • integer 整型
      • real 浮点型
      • text 文本类型
      • null 空
    • 主键
      • 主键(primary key)用来唯一的标示某一条记录
      • 主键可以是一个字段或多个字段
      • 主键设计的原则
        • 主键应当是对用户没有意义
        • 永远也不要更新主键
        • 主键不应该包含动态变化的数据
        • 主键应当有计算机自动生成
  • SQL语言简介
    • SQL(structured query
      language)结构化查询语言,是一种对关系型数据进行定义和操作的语言
    • SQL语句中的CURD(Create Retrieve Update Delete)
    • 在SQL语句中不区分大小写,每条语句都必须以分号结尾
  • SQL语句的种类
    • 数据定义语句(DDL Data Definition Language) 包括 crate drop alter
      等操作
    • 数据操作语句(DML Data Manipulation Language) 包括 insert delete
      update等操作
    • 数据查询语句(DQL Data Query Language) select where order by
  • DDL(Data Definition Language)
    • 创建表
      • 格式: create table 表名 (字段名1 字段名1类型,字段名2
        字段名2类型);
      • 示例: create table t_stu (name text,score real);
      • 语句优化:
        • 原因:创建表时,最好加个表是否已经存在的判断,防止语句多次执行时发生判断
        • create table if not exists (字段名1 字段名1类型,字段名2
          字段名2类型);
    • 删除表
      • 格式: drop table 表名
      • 示例: drop table t_stu
      • 语句优化: drop tabel if exists t_stu
    • 修改表
      • 修改表名
        • alter table 旧表名 rename to 新表名
      • 新增属性
        • alter table 表名 add column 列名 数据类型 限定符
  • 字段类型的约束
    • 简单的约束
      • 不能为空 not null 规定字段的值不能为空
      • 不能重复 unique 规定字段的值必须唯一
      • 默认值 default 指定字段的默认值
    • 主键的约束
      • 在创建表的时候在一个字段类型的后面添加 primary key
        表明该字段是这个表的主键
      • 主键字段默认包含了 not null 和 unique 两个约束
      • 如果想要让主键自动增长(必须是integer类型),应该增加autoincrement
  • DML(Data Manipulation Language)
    • 插入数据 insert
      • 格式: insert into 表名(字段1,字段2,…) values
        (字段1的值,字段2的值,…);
      • 示例: insert into t_stu(name,age) values (‘张三’,19);
      • 注意点: 数据库中的字符串内容应该用单引号”括住
    • 更新数据 update
      • 格式: update 表名 set 字段1 = 字段1的值,字段2 =
        字段2的值,…;
      • 示例: update t_stu set name = ‘李四’,age = 20;
      • 注意:要带上要更新数据的条件语句
    • 删除数据 delete
    • 格式: delete from 表名;
    • 示例: delete from t_stu;
    • 注意: 要带上你要删除数据的条件
  • 条件语句
    • 作用:如果只想更新或删除一些满足特定条件的记录,那就必须在DML语句后加上一些条件
    • 条件语句的常见格式
      • where 字段 = 某个值; // 等于某个值
      • where 字段 is 某个值; // is 相当于 =
      • where 字段 != 某个值; // 不等于某个值
      • where 字段 is not 某个值 // is not 相当于 !=
      • where 字段 > 某个值
      • where 字段1 = 某个值 and 字段2 > 某个值; // and
        相当于C语言中的&&
      • where 字段1 = 某个值 or 字段2 = 某个值; // or
        相当于C语言中的||
  • DQL(Data Qurey Language)
    • 格式
      • select 字段1,字段2,… from 表名;
      • select * from 表名;
    • 示例:
      • select name,age from t_stu;
      • select * from t_stu;
      • select *from t_stu where age > 10; // 条件查询
  • 查询相关语句
    • 统计
      • count(X)
        • select count(*) from t_stu
        • 计算所有记录个数
        • select count(age) from t_stu
        • 计算age有值的记录个数(Null不计算在内)
      • avg(X) 计算某个字段的平均值
      • sum(X) 计算某个字段的总和
      • max(X) 计算某个字段的最大值
      • min(X) 计算某个字段的最小值
    • 排序
      • 查询出来的结果可以用order by 进行排序
        默认按照升序排序(有由小到大 ASC,降序,由大到小 DESC)
      • 示例:
        • select 字段1,字段2 from 表名 order by 字段 ;
        • select * from t_stu order by age asc; // 升序,默认
        • select * from t_stu order by age desc; 降序
      • 也可以用多个字段进行排序
        • select * from t_stu order by age asc,score desc //
          先按照age升序排序,age相等就按照score降序排序
    • limit分页
      • 使用limit可以准确地控制查询结果的数量,比如每次只查询10条数据
      • 格式: select * from 表名 limit 数值1,数值2;
      • 示例:select * from t_stu limit 4,8; //
        可以理解为跳过最前面4条语句,然后取8条记录
      • limit
        常用来做分页查询,比如每页固定显示5条数据,那么应该这样取数据
        第n页
      • select * from t_stu limit (n-1)*count count; //
        count为每页固定显示的数据
  • 多表查询
    • 格式:select 字段1,字段2,…from 表名1,表名2;
    • 别名:可以给表或者字段单独起别名 as 可以省略
    • 示例:select 字段1 as 字段名1,字段2 as 字段名2 from 表名1 as
      别名1,表名2 as 别名2;
    • 表链接查询
      • 格式: select 字段1,字段2,…from 表名1,表名2 where 表名.id =
        表名2.id;
      • 外键
        • 如果表1的主关键字是表2中的字段,则称该字段为表2的外键
        • 作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据.使两张表形成关联,外键只能引用外表中的列的值或使用空值

如统计每个人的总分,

  create database database_name  DEFAULT CHARACTER SET
utf8;  //创建一个数据库  

SQL中有三个表:t_stu、t_sub、t_score

  drop database database_name;  //删除数据库

需要根据下面的SQL语句,生成一个图

  1.1 DOS常用命令

要点一、在表格中插入图后,在EXCEL表格中会生成一个数据图的样式。点击该图,然后,点击菜单数据/属性,在弹出的连接属性窗口中,选择定义标签。命令类型中选择SQL。如下图:

    1.1.1 数据库命令

在下面的命令文本框中输入SQL语句:SELECT
t_stu.stu_name,sum(t_score.score) as 总分 FROM
t_stu,t_sub,t_scorewhere t_stu.stu_id=t_score.stu_idand
t_score.sub_id=t_sub.sub_idgroup by
t_stu.stu_name然后点击确定。提示是否修改,点击是。

      mysqld install      // 安装MySQL数据库服务

要点二在图字段列表中,可以选择要显示的字段,并调整是在横坐标和纵坐标显示。

                net start mysql 或 net stop mysql     //
启动或停止MySQL服务

如下图:

      mysql -u username -p  // 登录MySQL管理系统  

显示效果图:

      use database_name;  // 引用数据库

      show databases;    // 显示所有数据库

      source path(.sql文件路径) 
//导入数据库文件,生成数据库,即根据sql脚本生成数据库;例如:source
F:mysql.sql

    1.1.2 数据表操作命令

      show tables;         // 显示某数据库中所有表

      desc table _name;   //显示表的字段信息

      show create table table_name;  //显示表的创建信息

   1.2 查询关系运算符

  • =、 !=、 <>、<、<=、>、>=;
  • between   ·····  and ········;
  • in(set) ; //set是集合
  • is null;is not null
  • and ;
  • or;
  • not;
  • like  ‘%三’;          //%表示任意多个字符,_表示任意单个字符

  1.3 内连接和外连接

    >内连接:

        select  t1.id,t1.name,t1.age,t2.score  from table1_name
t1  join table2_name t2 on t1.id=t2.id

        或:

        select  t1.name,t1.age,t2.score  from table1_name
t1 , table2_name t2 where t1.id=t2.id

    >外连接:

        select  t1.id,t1.name,t1.age,t2.score  from table1_name
t1  left join table2_name t2 on t1.id=t2.id    //左连接

        或:

        select  t1.id,t1.name,t1.age,t2.score  from table1_name
t1 right join table2_name t2 on t1.id=t2.id    //右连接

        select  t1.id,t1.name,t1.age,t2.score  from table1_name
t1 full join table2_name t2 on t1.id=t2.id    //全连接,MySQL不支持!

   1.4 数据库备份和恢复

    a. 备份  

      mysqldump -u root -p123
database_name>d:myDBdemo.sql 

    b. 恢复

       mysql -u root -p123 database_name<d:myDBdemo.sql

      或:

      进入需要还原到的目的数据库;

      source d:myDBdemo.sql

 

二、基本表的创建

  2.1 创建表

   数据类型:int,char,varchar,text(字符串类型),blob(字节类型);double(5,2)表示最多5位,其中2位小数。

    create table 表名

    (

      字段名1 数据类型 [not null] [默认值],

      字段名2 数据类型,

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图