您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > MYSQL基础教程课件
高级软件人才实作培训专家!北京传智播客教育SQL入门高级软件人才实作培训专家!北京传智播客教育MySQL简介数据库简介•SQLServer、Oracle、•MySQL、DB2、•SyBaseMySQL数据库的安装和配置使用命令行窗口连接MYSQL数据库•mysql–u用户名–p密码高级软件人才实作培训专家!北京传智播客教育数据库服务器、数据库和表的关系MySQLDBDB表表表Client所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库服务器、数据库和表的关系如图所示:高级软件人才实作培训专家!北京传智播客教育数据在数据库中的存储方式id=1name=“lisi”age=23User对象idnameage1lisi232wang24User表id=2name=“wang”age=24行(row)列(column)表的一行称之为一条记录表中一条记录对应一个java对象的数据User对象高级软件人才实作培训专家!北京传智播客教育创建数据库CREATEDATABASE[IFNOTEXISTS]db_name[create_specification[,create_specification]...]create_specification:[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_nameCHARACTERSET:指定数据库采用的字符集COLLATE:指定数据库字符集的比较方式练习:•创建一个名称为mydb1的数据库。•创建一个使用utf-8字符集的mydb2数据库。•创建一个使用utf-8字符集,并带校对规则的mydb3数据库。高级软件人才实作培训专家!北京传智播客教育查看、删除数据库显示数据库语句:SHOWDATABASES显示数据库创建语句:SHOWCREATEDATABASEdb_name数据库删除语句:DROPDATABASE[IFEXISTS]db_name练习:•查看当前数据库服务器中的所有数据库•查看前面创建的mydb2数据库的定义信息•删除前面创建的mydb1数据库高级软件人才实作培训专家!北京传智播客教育修改、备份、恢复数据库ALTERDATABASE[IFNOTEXISTS]db_name[alter_specification[,alter_specification]...]alter_specification:[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_name备份数据库表中的数据mysqldump-u用户名-p数据库名文件名.sql恢复数据库Source文件名.sql练习查看服务器中的数据库,并把其中某一个库的字符集修改为utf8;备份test库中的数据,并恢复高级软件人才实作培训专家!北京传智播客教育创建表(基本语句)CREATETABLEtable_name(field1datatype,field2datatype,field3datatype,)characterset字符集collate校对规则field:指定列名datatype:指定列类型注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user对象idintnamestringpasswordstringbirthdaydateIdNamePasswordbirthday注意:创建表前,要先使用usedb语句使用库。高级软件人才实作培训专家!北京传智播客教育MySQL常用数据类型VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度。分类数据类型说明数值类型BIT(M)TINYINT[UNSIGNED][ZEROFILL]BOOL,BOOLEANSMALLINT[UNSIGNED][ZEROFILL]INT[UNSIGNED][ZEROFILL]BIGINT[UNSIGNED][ZEROFILL]FLOAT[(M,D)][UNSIGNED][ZEROFILL]DOUBLE[(M,D)][UNSIGNED][ZEROFILL]位类型。M指定位数,默认值1,范围1-64带符号的范围是-128到127。无符号0到255。使用0或1表示真或假2的16次方2的32次方2的64次方M指定显示长度,d指定小数位数表示比float精度更大的小数文本、二进制类型CHAR(size)char(20)VARCHAR(size)varchar(20)BLOBLONGBLOBTEXT(clob)LONGTEXT(longclob)固定长度字符串可变长度字符串二进制数据大文本时间日期DATE/DATETIME/TimeStamp日期类型(YYYY-MM-DD)(YYYY-MM-DDHH:MM:SS),TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间高级软件人才实作培训专家!北京传智播客教育创建表练习创建一个员工表字段属性Id整形name字符型sex字符型或bit型brithday日期型Entry_date日期型job字符型Salary小数型resume大文本型高级软件人才实作培训专家!北京传智播客教育修改表使用ALTERTABLE语句追加,修改,或删除列的语法.ALTERTABLEtableADD(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtableMODIFY(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtableDROP(column);修改表的名称:Renametable表名to新表名修改表的字符集:altertablestudentcharactersetutf8;高级软件人才实作培训专家!北京传智播客教育修改表练习•在上面员工表的基本上增加一个image列。•修改job列,使其长度为60。•删除sex列。•表名改为user。•修改表的字符集为utf-8•列名name修改为username•altertableuserchangecolumnnameusernamevarchar(20);高级软件人才实作培训专家!北京传智播客教育高级软件人才实作培训专家!北京传智播客教育数据库CRUD语句Insert语句(增加数据)Update语句(更新数据)Delete语句(删除数据)Select语句(查找数据)高级软件人才实作培训专家!北京传智播客教育Insert语句INSERTINTOtable[(column[,column...])]VALUES(value[,value...]);使用INSERT语句向表中插入数据。插入的数据应与字段的数据类型相同。数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。在values中列出的数据位置必须与被加入的列的排列位置相对应。字符和日期型数据应包含在单引号中。插入空值,不指定或insertintotablevalue(null)高级软件人才实作培训专家!北京传智播客教育Insert语句练习练习:使用insert语句向表中插入三个员工的信息。字段名字段类型id整形name字符串型sex字符或整数类型birthday日期型salary浮点型entry_date日期型resume大文本型注意:字符和日期要包含在单引号中。showvariableslike'character%';setcharacter_set_results=gbk;高级软件人才实作培训专家!北京传智播客教育Update语句UPDATEtbl_nameSETcol_name1=expr1[,col_name2=expr2...][WHEREwhere_definition]使用update语句修改表中数据。UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。高级软件人才实作培训专家!北京传智播客教育Update语句练习练习:在上面创建的employee表中修改表中的纪录。要求将所有员工薪水修改为5000元。将姓名为’zs’的员工薪水修改为3000元。将姓名为’aaa’的员工薪水修改为4000元,job改为ccc。将wu的薪水在原有基础上增加1000元。高级软件人才实作培训专家!北京传智播客教育Delete语句deletefromtbl_name[WHEREwhere_definition]使用delete语句删除表中数据。如果不使用where子句,将删除表中所有数据。Delete语句不能删除某一列的值(可使用update)使用delete语句仅删除记录,不删除表本身。如要删除表,使用droptable语句。同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。删除表中数据也可使用TRUNCATETABLE语句,它和delete有所不同,参看mysql文档。高级软件人才实作培训专家!北京传智播客教育Delete语句练习删除表中名称为’zs’的记录。删除表中所有记录。使用truncate删除表中记录。高级软件人才实作培训专家!北京传智播客教育Select语句(1)SELECT[DISTINCT]*|{column1,column2.column3..}FROMtable;Select指定查询哪些列的数据。column指定列名。*号代表查询所有列。From指定查询哪张表。DISTINCT可选,指显示结果时,是否剔除重复数据基本select语句高级软件人才实作培训专家!北京传智播客教育Select语句(1)练习:查询表中所有学生的信息。查询表中所有学生的姓名和对应的英语成绩。过滤表中重复数据。高级软件人才实作培训专家!北京传智播客教育Select语句(2)SELECT*|{column1|expression,column2|expression,..}FROMtable;在select语句中可使用表达式对查询的列进行运算在select语句中可使用as语句SELECTcolumnas别名from表名;高级软件人才实作培训专家!北京传智播客教育Select语句(2)练习在所有学生分数上加10分特长分。统计每个学生的总分。使用别名表示学生分数。高级软件人才实作培训专家!北京传智播客教育Select语句(3)使用where子句,进行过滤查询。练习:查询姓名为wu的学生成绩查询英语成绩大于90分的同学查询总分大于200分的所有同学高级软件人才实作培训专家!北京传智播客教育Select语句(4)在where子句中经常使用的运算符比较运算符===大于、小于、大于(小于)等于、不等于BETWEEN...AND...显示在某一区间的值IN(set)显示在in列表中的值,例:in(100,200)LIKE‘张pattern’模糊查询ISNULL判断是否为空逻辑运算符and多个条件同时成立or多个条件任一成立not不成立,例:wherenot(salary100);Like语句中,%代表零个或多个任意字符,_代表一个字符,例first_namelike‘_a%’;高级软件人才实作培训专家!北京传智播客教育Select语句(4)查询英语分数在80-90之间的同学。查询数学分数为89,90,91的同学。查询所有姓李的
本文标题:MYSQL基础教程课件
链接地址:https://www.777doc.com/doc-4375087 .html