第一章 初始MySQL

    SQL 是什么?

  •  SQL,指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

    SQL 能做什么?

    • SQL 面向数据库执行查询
    • SQL 可从数据库取回数据
    • SQL 可在数据库中插入新的记录
    • SQL 可更新数据库中的数据
    • SQL 可从数据库删除记录
    • SQL 可创建新数据库
    • SQL 可在数据库中创建新表
    • SQL 可在数据库中创建存储过程
    • SQL 可在数据库中创建视图
    • SQL 可以设置表、存储过程和视图的权限

MySQL数据类型——数值类型



UNSIGNED属性:标识为无符号数

ZEROFILL属性:宽度(位数)不足以0填充

举例:
CREATE TABLE `tb_type` (         
    `sid` INT(4) ZEROFILL);

INSERT INTO ` tb_type1 ` VALUE(12) ,(1234),(123456);


注:若某数值字段指定了ZEROFILL属性,将自动添加UNSIGNED属性.


MySQL数据类型——字符串、日期类型



注:若某日期字段默认值为当前日期,一般设置为TIMESTAMP类型


如何创建表?

语法如下

CREATE TABLE [IF NOT EXISTS]  表名 (
    字段1 数据类型 [字段属性|约束][索引][注释],
      ……
     字段n 数据类型 [字段属性|约束][索引][注释]

)[表类型][表字符集][注释];


举例:

注:多字段使用逗号分隔

       保留字用撇号括起来

       单行注释:#......

      多行注释:/*……*/


字段的约束及属性

主键:

实例:    CREATE TABLE student(
              `studentNo` INT(4)  PRIMARY KEY,

               ……);

注释:

实例:    CREATE TABLE test (
              `id` int(11) UNSIGNED COMMENT ‘编号’
              )COMMENT='测试表’ ;

设置字符集编码:

实例:    CREATE TABLE [IF NOT EXISTS] 表名(
              #省略代码

              )CHARSET = 字符集名;

练习一:在myschool数据库中创建学生表


操作如下:



查看表是否存在:

实例:USE myschool;

          SHOW  tables;

显示出来是这样:



查看表定义:

语法:DESCRIBE 表名;
          或

          DESC 表名;

举例:USE myschool;

          DESCRIBE `student`;

注:避免DOS窗口乱码,可执行SET NAMES gbk;

显示出来是这样:



删除表:

语法:DROP TABLE [IF  EXISTS] 表名;

举例:USE myschool;

          DROP TABLE IF EXISTS `student`;

注:在删除表之前,先使用IF EXISTS语句验证表是否存在


练习二:myschool数据库中创建科目表(subject)



操作如下:


练习三:myschool数据库中创建成绩表(result)


操作如下:


修改表语法如下:

#修改表名 

ALTER TABLE 旧表名 RENAME [TO]  新表名;

举例:ALTER TABLE students RENAME student

#添加字段  

ALTER TABLE 表名 ADD 字段名  数据类型  [属性];

举例:ALTER TABLE result ADD chen INT(4) NOT NULL COMMENT'陈'

#修改字段

 ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

举例:ALTER TABLE student CHANGE gradeId gradeId INT(11) 

#删除字段

ALTER TABLE 表名 DROP 字段名;

举例:ALTER TABLE result DROP chens


添加主键

语法:ALTER TABLE 表名 ADD CONSTRAINT 主键名 

         PRIMARY KEY 表名(主键字段);

问题:如何设置grade表中gradeId字段为主键?

答案:ALTER TABLE `grade` ADD CONSTRAINT `pk_grade`   

          PRIMARY KEY `grade`(`gradeId`);

举例:ALTER TABLE student ADD CONSTRAINT ky_student
          PRIMARY KEY student(studentNo);

添加外键

语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名      

         FOREIGN KEY(外键字段)

        REFERENCES 关联表名(关联字段);

问题:如何将student表的gradeId字段和grade表的gradeId字段建立外键关联?

答案:ALTER TABLE `student`  ADD  CONSTRAINT fk_student_grade 

          FOREIGN KEY(`gradeId`) 

          REFERENCES `grade` (`gradeId`);

举例:ALTER TABLE student
          ADD CONSTRAINT fk_grade_stu_gradeid
          FOREIGN KEY (gradeid)

          REFERENCES grade(gid)

练习四:在test数据库中创建person表


    1. 将表名修改为tb_person

     2.删除出生日期字段

     3.添加出生日期字段,数据类型为DATE类型

     4.修改序号字段名(number)为id,类型为BIGINT类型

操作如下:


练习五:result表需要添加的内容

          1.主键约束:学号、课程编号和日期构成组合主键
          2.外键约束:主表student和从表result通过studentNo字段建立主外键关联

   操作如下:






猜你喜欢

转载自blog.csdn.net/doudou19930614/article/details/80835727