SQL的基本使用WrittenbySzh,2017/11/141.什么是数据库很多数据都是用表格进行存储的,比如成绩单、电话本。把这些表格放在一起,就形成了数据库。我们用“数据库管理系统”,对数据库、数据库中的表进行管理。姓名学号性别张三2016233男李四2016234女王五2013235男表(TABLE)行(元组)列(属性、字段)学生信息统计表2.什么是关系型数据库关系型数据库中,存放的就是这样的表学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女3.关系型数据库的操作插入一行:学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女王五20162352016男3.关系型数据库的操作删除一行学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女王五20162352016男3.关系型数据库的操作添加一列:学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女专业计算机数学3.关系型数据库的操作删除一列学生信息统计表姓名学号年级张三20162332016李四20162342016性别男女3.关系型数据库的操作在表格中选择一部分,产生一个新表学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女姓名学号表姓名学号张三2016233李四20162343.关系型数据库的操作对若干表进行综合查询学生信息统计表姓名学号年级性别张三20162332016男李四20162342016女成绩单姓名成绩张三90李四91王五92列出学生信息统计表(左表)中同学的姓名、成绩姓名成绩统计表姓名成绩张三90李四914.面向对象型数据库特点:同关系型数据库不同,面向对象数据库的某一列,可以拆分成多个子列姓名学号年级姓氏名字张三20162332016李四20162342016面向对象型数据库不是关系型数据库SQL用于关系型数据库,不支持面向对象型数据库5.MySQL数据库的结构数据库管理系统数据库1数据库2数据库3表1表2表3表4表56.MySQL的基本使用要想创建一个表,首先需要创建一个数据库。语法:CREATEDATABASE[数据库名称];注意每条语句的后面都有1个分号。在创建数据库时,需要给定一个字符编码(如UTF-8,系统会默认指定一个),以存储字符串。为了方便移植,最好用UTF-8。6.MySQL的基本使用显示已经存在的数据库语法:SHOWDATABASES;显示了我们刚刚创建的数据库,以及之前存在的数据库6.MySQL的基本使用选择某个数据库。在我们创建好数据库之后,就可以选择这个数据库了。语法:USE[数据库名称];注意到,在执行完这个命令之后,左边的MariaDB[(none)]变成了MariaDB[mytest]6.MySQL的基本使用创建一个表:在创建表时,我们需要指定表的名字,表包含哪几列,每一列的名称以及变量类型假设想创建一个这样的表:test1idname6.MySQL的基本使用创建一个表的语法:CREATETABLE[表名]([列1属性名]数据类型,[列2属性名]数据类型);注意不要忘记分号在本例中,如果想要创建一个上图所示的表,使用这样的命令:CREATETABLEtest1(idINT,nameVARCHAR(20));test1idname6.MySQL的基本使用查看当前数据库中,已经创建了哪些表语法:SHOWTABLES;6.MySQL基本使用学生成绩统计表姓名成绩张三李四7893对于表中的第3行,只显示了成绩,却不知道姓名。到底是谁考了93分?所以,第1列的元素,不应该是空的。对于成绩的话,如果某人还没参加考试,成绩那一列应该是空的,不用填。我们需要设定,成绩那一列的元素,可以为空。6.MySQL基本使用为了设定第1列的元素不应该为空,在定义时可以这样操作:CREATETABLEtest2(nameVARCHAR(20)NOTNULL,scoreINTNULL);这样,name属性为NOTNULL,这样name这一列的元素不能为空。Score的属性为NULL,这样score这一列的元素可以为空.6.MySQL的基本使用查看表的具体信息。在一个表创建之后,我们可以查看这个表的详细信息。方法1:SHOWCREATETABLE[表名];6.MySQL的基本使用查看表的具体信息。方法2:DESCRIBE[表名];6.MySQL的基本使用设置主键这个表创建好之后,表中的各个元组(每一行),就像一盘散沙那样,不方便操作。为了方便操作,我们可以像C++STL中map那样,人为地规定每个元组的主键,通过主键来表示每个元组的大小,这样就能提高效率。主键的属性一定为NOTNULL(想一想,为什么)6.MySQL的基本使用设置主键的方法:1.在创建表时设置主键。语法:CREATETABLE[表名]([列1属性名]列1变量类型,[列2属性名]列2变量类型,PRIMARYKEY([列x属性名]));6.MySQL基本使用2.删除主键语法:ALTERTABLE[表名]DROPPRIMARYKEY;3.添加主键语法:ALTERTABLE[表名]ADDPRIMARYKEY([列名]);6.MySQL的基本使用也可以将若干个元素同时作为主键。在PRIMARYKEY()的括号中,我们可以加入若干个属性,同时作为主键。可以在创建表时设置,也可以在创建完成后设置。6.MySQL的基本使用在创建表完成后设置主键:首先我们需要删除原有的主键:语法:ALTERTABLE[表名]DROPPRIMARYKEY;然后再添加新的主键语法:ALTERTABLE[表名]ADDPRIMARYKEY([属性1],[属性2]);