Mysql数据库操作基础

上传人:小**** 文档编号:243077788 上传时间:2024-09-15 格式:PPT 页数:55 大小:368.50KB
返回 下载 相关 举报
Mysql数据库操作基础_第1页
第1页 / 共55页
Mysql数据库操作基础_第2页
第2页 / 共55页
Mysql数据库操作基础_第3页
第3页 / 共55页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,MySQL,一、,Mysql,概述,特点:,MySQL,是一款从,Linux,系统上移植过来的优秀的开源软件,适应于所有的平台,(,在网上可以任意下载,并且可以查看到它的源文件,进行必要的修改,),是一个真正的多用户、多线程,SQL,数据库服务器,是比较流行的关系数据库,把数据存储在表格中,使用标准的结构化查询语言,SQL,进行访问数据库。,。,相对其他数据库而言,可以用,16,个字来概括,MySQL,,“短小精悍、功能齐全、运行极快、完全免费”,使用上也越来越人性化,有多款图形界面的支持,操作越来越简单。,Mysql,在中小型企业网、门户网的应用中占据了相当大的优势,甚至在大型项目的开发中,,MySQL,也能应对自如。,在,MySQL,中,不仅支持,SQL,标准,而且还对其进行了扩展,使得它能够支持更为强大的功能。,下表给出,SQL,标准的关键字及其功能:,下表介绍,MySQL,支持的,SQL,语句:,mysql,中有三种注释方式:,l,以“,#”,号开头直到行尾的所有内容都是注释。,2,以“,- ”,号开头直到行尾的所有内容都是注释,,注意在“,-”,后面还有一个空格。,3,以“,/*”,开始,以“*,/”,结束的所有内容,都是注释,可以对多行进行注释。,二、如何启动、关闭,mysql,服务器,启动、停止,MySQL,服务器的方法有两种:,系统服务器,和,命令提示符,(dos),在命令提示符下启动,MySQL,:,进入,DOS,窗口,在命令提示符下输入如下指令:,net start,MySQL,(,启动,),、,net stop,MySQL,(,停止,),第一种方法,直接启动,mysql,在启动后的窗口中输入密码即可,如何连接,MySQL,服务器,第二种方法:采用命令,首先设置环境变量,:在命令提示符中设置或者在,windows,的,path,中设置,其次启动,mysql,(可省略),采用这种方式就不需要每次都在启动和连接数据库之前在命令行窗口中执行命令设置,path,环境变量了,最后连接,MYSQL,格式:,mysql,-h,主机地址,-u,用户名,-p,用户密码,连接远程机器:,mysql,-h10.4.3.188 -,uptsdb,-p,等价写法,mysql,-host=10.4.3.188 -user=,ptsdb,-password,连接本地机器:,mysql,-,uroot,-p,等价写法,mysql,-user=root -p,(注,:u,与,root,可以不用加空格,其它也一样),下面对以上参数进行解释说明。,-u,:用户名。,-h,:,MySQL,所在服务器地址。,-p,:用户密码。,输入完命令语句后,按下,Enter,键就进入到了,MySQL,数据库中。,第三种,先,打开命令提示符,切换到,C:Program Files,MySQLMySQL,Server 5.0bin (Mysql,的与运行目录,),进行连接,注意,用户在连接数据库时,如果只输入,mysql,也可以进入,但是这样用的是一个匿名用户登陆,虽然无需用户名、密码,就可以直接登录,但是非常不安全。最好使用文中提到的连接格式,养成良好的书写习惯。,如果密码在“,-p”,后直接给出,那么密码就是明文显示出来的,例如:,MySQL,u root h127.0.0.1 p 123456,为了安全,我们可以输入,p,后就按,Enter,键,然后在一下行中再输入密码,这样输入的就是密文密码。,三、 修改连接,mysql,的密码,1.,通过修改,MYSQL,数据库中,MYSQL,库的,USER,表,用普通的,UPDATE,语句修改,mysql,状态下输入,use,mysql,update user set password=,password,(,新密码,) where user=root;,回显,Query OK, 0 rows affected (0.00 sec),Rows matched: 2 Changed: 0 Warnings: 0,mysql,状态下输入,FLUSH PRIVILEGES;,回显,Query OK, 0 rows affected (0.00 sec),mysql,状态下输入,quit,或,exit,退出,sql,注意:,每个命令后都要加上一个分号,;,mysql,才开始执行该行命令,而,FLUSH PRIVILEGES,指令会让已载入记忆体的,mysql,系统资料库更新,重起,mysql,.,在更新,root,密码后,日后要与,MySQL,连线的方法为:,mysql,-,uroot,-p,新密码,2.,在命令行中使用如下命令(,注意不是,mysql,提示符下,),C:Program Files,MySQLMySQL,Server 5.0bin,mysqladmin,-u root -p password 123456,接下来会提示,Enter password:,如果你是第一次登陆还没修改过密码,直接回车就可以了(以前初始密码是,root,的话输入,root,)。,这是,root,密码就修改成了,123456,。,密码不要加引号,否则密码就修改成了,123456,这个,8,位字符,而不是,6,位的了。,3.,忘记,MYSQL,密码的解决方案,1,、,net stop,mysql,停止,mysql,服务,2,、执行,mysqld-nt,-skip-grant-tables,这样启动,不需要密码就可以进入,MySQL,了,3,、此时打开一个新的命令窗口,执行,mysql,,,进入,MySQL,4,、修改,root,密码,use,mysql,update user set password=,password(NEWPASSWORD,) where user=root; flush privileges;5,、在任务管理器里,kill,掉,mysqld-nt,进程,6,、,net start,mysql,重启,MySQL,即可,数值类型,(,例如,:,Float,Int,Double,等,),日期和时间类型,(,例如,:,Date,Time,TIMESTAMP,等,),String,类型,(,CHAR,、,VARCHAR,、,BINARY,、,VARBINARY,、,BLOB,、,TEXT,、,ENUM,),四、,Mysql,常用的数据类型:,数值类型,Float (,同义,real),小,(,单精度,),浮点数。,允许的值是,-3.402823466E+38,到,-1.175494351E-38,、,0,和,1.175494351E-38,到,3.402823466E+38,。,Double(,同义,DOUBLE PRECISION),普通大小,(,双精度,),浮点数。允许的值是,-1.7976931348623157E+308,到,-2.2250738585072014E-308,、,0,和,2.2250738585072014E-308,到,1.7976931348623157E+308,日期和时间类型,表示时间值的,DATE,和时间类型为,DATETIME,、,DATE,、,TIMESTAMP,、,TIME,和,YEAR,。每个时间类型有一个有效值范围和一个,“,零,”,值,当指定不合法的,MySQL,不能表示的值时使用,“,零,”,值。,TIMESTAMP,类型有专有的自动更新特性,日期和时间类型,-Date,DATE,日期。支持的范围为,1000-01-01,到,9999-12-31,。,MySQL,以,YYYY-MM-DD,格式显示,DATE,值,但允许使用字符串或数字为,DATE,列分配值。,日期和时间类型,-,Datetime,DATETIME,日期和时间的组合。支持的范围是,1000-01-01 00:00:00,到,9999-12-31 23:59:59,。,MySQL,以,YYYY-MM-DD HH:MM:SS,格式显示,DATETIME,值,但允许使用字符串或数字为,DATETIME,列分配值。,日期和时间类型,-,TIMESTAMP,TIMESTAMP (,Mysql,4.1,版本以下),时间戳。范围是,1970-01-01 00:00:00,到,2037,年。,TIMESTAMP,列用于,INSERT,或,UPDATE,操作时记录日期和时间。如果你不分配一个值,表中的第一个,TIMESTAMP,列自动设置为最近操作的日期和时间。也可以通过分配一个,NULL,值,将,TIMESTAMP,列设置为当前的日期和时间。,TIMESTAMP,值返回后显示为,YYYY-MM-DD HH:MM:SS,格式的字符串,显示宽度固定为,19,个字符,日期和时间类型,-Time,TIME,时间。范围是,-838:59:59,到,838:59:59,。,MySQL,以,HH:MM:SS,格式显示,TIME,值,但允许使用字符串或数字为,TIME,列分配值。,日期和时间类型,下面的表显示了各类,“,零,”,值的格式。请注意如果启用,NO_ZERO_DATE SQL,模式,使用这些值会产生警告。,String,类型,-,CHAR,和,VARCHAR,类型,CHAR,和,VARCHAR,类型声明的长度表示你想要保存的最大字符数。例如,,CHAR(30),可以占用,30,个字符。,CHAR,列的长度固定为创建表时声明的长度。最大长度为,8,000,个字符。,VARCHAR,列中的值为可变长字符串。最大长度为,8,000,个字符。,下面的表显示了将各种字符串值保存到,CHAR(4),和,VARCHAR(4),列后的结果,说明了,CHAR,和,VARCHAR,之间的差别:,char,是一种固定长度的类型,,varchar,则是一种可变长度的类型,char(M,),类型的数据列里,每个值都占用,M,个字节,如果某个长度小于,M,,,MySQL,就会在它的右边用空格字符补足(在检索操作中那些填补出来的空格字符将被去掉)在,varchar(M,),类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为,L+1,字节)。,char,固定长度,所以在处理速度上要比,varchar,快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用,char,类型,反之可以用,varchar,类型来实现,BINARY,和,VARBINARY,类型,BINARY,和,VARBINARY,类类似于,CHAR,和,VARCHAR,它们包含,字节,字符串而不是字符字符串。,BINARY,和,VARBINARY,允许的最大长度一样,如同,CHAR,和,VARCHAR,,不同的是,BINARY,和,VARBINARY,的长度是字节长度而不是字符长度。,String,类型,-BLOB,和,TEXT,类型,可以容纳可变数量的数据,BLOB,列被视为二进制字符串,(,字节字符串,),。,TEXT,列被视为非二进制字符串,(,字符字符串,),。,Text,数据类型的列可用于存储大于,8kb,的字符。,五、,Mysql,数据库管理的基本操作,1.,数据库的相关操作,(,创建、删除、查看、选择,),2.,MySQL,数据库中的一些字段类型解释,3.,数据表的操作,(,创建、删除、修改,),4.,添加、删除、修改数据,1.,数据库的相关操作,1),创建数据库,使用,MySQL,创建数据库,格式如下:,MySQL, CREATE DATABASE * ;,Query OK, 1 row affected (0.01 sec),2),显示数据库列表,:,mysql,show databases;,3),选择要用的数据库,查看包含的信息,MySQL, USE *;,Database changed,MySQL, SHOW TABLES;,4),显示表格,mysql,show tables from,mydb,(,数据库名,);,显示表结构,:,mysql,desc,mydb.tablename,;,等价于,mysql,show columns from,mydb.tablename,;,5,)删除数据库,MySQL, DROP DATABASE *,;,6),显示,MySQL,数据库的版本:,mysql,select version();,SQL,主要语句语法数据定义语句,CREATE DATABASE,语法,CREATE TABLE,语法,CREATE INDEX,语法,DROP DATABASE,语法,DROP INDEX,语法,DROP TABLE,语法,ALTER TABLE,语法,RENAME TABLE,语法,CREATE TABLE,语法,CREATE TABLE,(, ,列级完整性约束条件, ,列级完整性约束条件,),),;,注:列级约束条件有两个任选项:,NOT NULL,,表示此列不得置,NULL,,在其后还可加,UNIQUE,任选项,表示列值不得重复。,DEFAULT,,当此列的值空缺时,填以缺省值,例如:,stu_id,char(20) not null,price float default 0.01,表级完整性约束条件,主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。,每个表中只能有一列被指定为主关键字,且,IMAGE,和,TEXT,类型的列不能被指定为主关键字,也不允许指定主关键字列有,NULL,属性。,语法如下:,CONSTRAINT constraint_namePRIMARY KEY,(,column_name,),column_name,指定组成主关键字的列名,constraint_name,指定约束的名称约束的名称,Create table products(,id char(20) not null,price float default 0.01,constraint primary key (id),);,CREATE INDEX,语法,CREATE INDEX,index_name,ON,tbl_name,(,index_col_name,.),注:,index_col_name,:,col_name,(,length,) ASC | DESC,例如:,create index,stu_age,on,student(age,ASC);,ALTER TABLE,语法,ALTER TABLE,tbl_name,ADD,完整性约束,DROP,列名,MODIFY,;,ADD,用于增加新列和新的完整性约束条件,新增加的列一律为空值。,(index, primary key,等),DROP,用于删除指定的完整性约束条件(,index,primary,key, foreign key),MODIFY,用于修改原有的列定义,Alter table,aa,add primary,key(id,);,Alter table,aa,add name char(20);,Alter table,aa,drop primary key;,Alter table,aa,modify id char(100) not null;,RENAME TABLE,语法,RENAME TABLE,tbl_name,TO,new_tbl_name,对一个表重命名,例如:,rename table student to,ss,;,创建,删除视图,(view),创建视图语法:,Create view (,.),As select,查询语句,删除视图语法:,Drop view ,视图名,Create view,stu_test(id,name,),As select,stu_id,name,from student;,Drop view,stu_test,;,SQL,主要语句语法,-,数据操作语句,Select,Update,Insert,Delete,Select,查询语句,SELECT,ALL|DISTINCT ,FROM,WHERE,GROUP BY,HAVING,ORDER BY,ASC|DESC,;,Select,查询语句,SELECT,指明需要查询的项目,一般是列名,也可以是表达式,查询表中未存储但可导出的结果。,WHERE,用来说明查询的条件,DISTINCT,任选项用来消除查询结果的重复项,GROUP,用来将结果按列名,1,的值进行分组,该属性列值相等的元组为一组,ORDER,将结果表按列名,2,的值升序或降序排序,where,查询满足条件的元组(,where,子句),比较大小,确定范围(,BETWEEN,AND/Not,Beteween,.and,),确定集合(,IN, NOT IN,),字符匹配(,LIKE , NOT LIKE,),可适用通配符,%,和,_,。,%:,代表任意长度(长度可以为,0,)的字符串,:a%,_,:代表任意单个字符,: a_,Select * from student;,Select * from student where age not between 18 and 19;,Select * from student where name like a%;,Update,修改语法,一般格式:,INSERT INTO (,),VALUES(,),功能是将新元组插入指定的表中,INTO,中没有出现的属性列,新纪录在其上取空值,属性列省略则按已有关系模式顺序插入,且其在每个属性列上均有值。,Insert into student values (,1,aa,asdf,1980-12-09);,Insert into,student(stu_id,name,) values(,2,bb,);,INSERT INTO (,),子查询;,Insert,插入语法,Delete,删除语法,DELETE FROM WHERE;,功能是从指定表中删除满足条件的所有元组,如果省略,WHERE,子句,表时删除表中全部元组,但表的定义仍在数据字典中。即:只删除数据。,例如:,Delete from student where name=,“,aa,”,;,从,Mysql,中导入和导出数据库结构,导入数据库,常用,source,命令,进入,mysql,数据库控制台,,如,mysql,-u root -p,mysql,use,数据库,然后使用,source,命令,后面参数为脚本文件(如这里用到的,.,sql,),mysql,source,d:/test_db.sql,使用,mysqldump,: (,mysqldump,命令位于,mysql,/bin/,目录中,),几个常用用例:,1.,导出整个数据库,mysqldump,-u,用户名,-p,数据库名,导出的文件名,mysqldump,-u root -p,dataname,dataname.sql,这个时候会提示要你输入,root,用户名的密码,输入密码后,dataname,数据库就成功备份在,mysql,/bin/,目录中,.,2.,导出一个表,mysqldump,-u,用户名,-p,数据库名 表名,导出的文件名,mysqldump,-u root -p,dataname,users,dataname_users.sql,3.,导出一个数据库结构,mysqldump,-u,wcnc,-p -d -add-drop-table,dataname,d:wcnc_db.sql,-d,没有数据,-add-drop-table,在每个,create,语句之前增加一个,drop table,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!