Mysql数据库操作基础_第1页
Mysql数据库操作基础_第2页
Mysql数据库操作基础_第3页
Mysql数据库操作基础_第4页
Mysql数据库操作基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 一、Mysql概述 特点:特点: MySQL是一款从Linux系统上移植过来的优秀的开源软件,适应 于所有的平台 (在网上可以任意下载,并且可以查看到它的源文件,进行必要的修 改) 是一个真正的多用户、多线程SQL数据库服务器,是比较流行的 关系数据库,把数据存储在表格中,使用标准的结构化查询语 言SQL进行访问数据库。 。 相对其他数据库而言,可以用16个字来概括MySQL,“短小精悍、短小精悍、 功能齐全、运行极快、完全免费功能齐全、运行极快、完全免费” 使用上也越来越人性化,有多款图形界面的支持,操作越来越简 单。 Mysql在中小型企业网、门户网的应用中占据了相当大的优势, 甚至在大

2、型项目的开发中,MySQL也能应对自如。 在MySQL中,不仅支持SQL标准,而且还对其进行了 扩展,使得它能够支持更为强大的功能。 下表给出SQL标准的关键字及其功能: 下表介绍MySQL支持的SQL语句: mysql中有三种注释方式: l 以“#”号开头直到行尾的所有内容都是 注释。 2以“- ”号开头直到行尾的所有内容都 是注释,注意在注意在“-”后面还有一个空格。后面还有一个空格。 3以以“/*”开始,以开始,以“*/”结束的所有内容结束的所有内容 都是注释,可以对多行进行注释。 二、如何启动、关闭mysql服务器 启动、停止MySQL服务器的方法有两种: 系统服务器系统服务器和 命令

3、提示符命令提示符 (dos) 在命令提示符下启动在命令提示符下启动MySQL:进入DOS窗口,在命令提示符下输入如 下指令: net start MySQL(启动启动)、 net stop MySQL(停止停止) 第一种方法第一种方法 直接启动mysql,在启动后的窗口中输入密码即可 如何连接如何连接MySQL服务器服务器 第二种方法:采用命令第二种方法:采用命令 首先设置环境变量:在命令提示符中设置或者在windows的path 中设置 其次启动mysql(可省略) 采用这种方式就不 需要每次都在启动 和连接数据库之前 在命令行窗口中执 行命令设置path环境 变量了 最后连接最后连接MYS

4、QL 格式:格式: 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所在服

5、务器地址。所在服务器地址。 -p:用户密码。:用户密码。 输入完命令语句后,按下输入完命令语句后,按下Enter键就进入到了键就进入到了 MySQL数据库中。数据库中。 第三种第三种 先先打开命令提示符,切换到C:Program FilesMySQLMySQL Server 5.0bin (Mysql的与运行目录) 进行连接 注意注意 用户在连接数据库时,如果只输入mysql也可以进入, 但是这样用的是一个匿名用户登陆,虽然无需用户名、 密码,就可以直接登录,但是非常不安全。最好使用 文中提到的连接格式,养成良好的书写习惯。 如果密码在“-p”后直接给出,那么密码就是明文显示 出来的,例如:

6、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 matche

7、d: 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 密码后,日后要与密

8、码后,日后要与 MySQL 连线的方法为:连线的方法为: mysql -uroot -p新密码新密码 2.在命令行中使用如下命令(在命令行中使用如下命令(注意不是注意不是mysql提示符下提示符下) C:Program FilesMySQLMySQL Server 5.0binmysqladmin -u root -p password 123456 接下来会提示接下来会提示 Enter password: 如果你是第一次登陆还没修改过密码,直接回车就可如果你是第一次登陆还没修改过密码,直接回车就可 以了(以前初始密码是以了(以前初始密码是root的话输入的话输入root)。)。 这是这是 r

9、oot 密码就修改成了密码就修改成了 123456 。 密码不要加引号,否则密码就修改成了密码不要加引号,否则密码就修改成了 123456 这个这个 8位字符,而不是位字符,而不是6位的了。位的了。 3.忘记忘记MYSQL密码的解决方案密码的解决方案 1、net stop mysql 停止停止mysql服务服务 2、执行、执行mysqld-nt -skip-grant-tables 这样启动,不需要密码就可以进入这样启动,不需要密码就可以进入MySQL了了 3、此时打开一个新的命令窗口,执行、此时打开一个新的命令窗口,执行mysql, 进入进入MySQL 4、修改、修改root密码密码 use

10、 mysql update user set password=password(NEWPASSWORD) where user=root; flush privileges; 5、在任务管理器里、在任务管理器里kill掉掉mysqld-nt进程进程 6、net start mysql 重启重启MySQL即可即可 数值类型数值类型 ( (例如例如: : Float,Int,DoubleFloat,Int,Double 等等) ) 日期和时间类型日期和时间类型 ( (例如例如: : Date,TimeDate,Time, , TIMESTAMP等等) ) StringString类型类型 ( (

11、CHAR、VARCHAR、BINARY、 VARBINARY、BLOB、TEXT、ENUM) ) 四、四、MysqlMysql常用的数据类型:常用的数据类型: 数值类型 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.22507385850

12、72014E-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 日期和时间

13、的组合。支持的范围是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值,将 TIMES

14、TAMP列设置为当前的日期和时间。 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类型声明的长度表示你类型声明的长度表示你 想要保存的最大字符

15、数。例如,想要保存的最大字符数。例如,CHAR(30) 可以占用可以占用30个字符。个字符。 CHAR列的长度固定为创建表时声明的长列的长度固定为创建表时声明的长 度。最大长度为度。最大长度为 8,000 个字符。个字符。 VARCHAR列中的值为可变长字符串。最列中的值为可变长字符串。最 大长度为大长度为 8,000 个字符。个字符。 下面的表显示了将各种字符串值保存到下面的表显示了将各种字符串值保存到CHAR(4)和和 VARCHAR(4)列后的结果,说明了列后的结果,说明了CHAR和和VARCHAR之之 间的差别:间的差别: char是一种固定长度的类型,是一种固定长度的类型,varch

16、ar则是一种可变长则是一种可变长 度的类型度的类型 char(M)类型的数据列里,每个值都占用M个字节,如 果某个长度小于M,MySQL就会在它的右边用空格字 符补足(在检索操作中那些填补出来的空格字符将 被去掉)在varchar(M)类型的数据列里,每个值只占 用刚好够用的字节再加上一个用来记录其长度的字节 (即总长度为L+1字节)。 char 固定长度,所以在处理速度上要比varchar快速很 多,但是对费存储空间,所以对存储不大,但在速度 上有要求的可以使用char类型,反之可以用varchar类 型来实现 BINARY和和VARBINARY类型类型 BINARY和VARBINARY类类

17、似于CHAR和 VARCHAR 它们包含字节字节字符串而不是字符字符串。 BINARY和VARBINARY允许的最大长度一 样,如同CHAR和VARCHAR,不同的是 BINARY和VARBINARY的长度是字节长度 而不是字符长度。 String类型-BLOB和TEXT类型 可以容纳可变数量的数据 BLOB 列被视为二进制字符串(字节字符串)。 TEXT列被视为非二进制字符串(字符字符 串)。 Text数据类型的列可用于存储大于8kb的字 符。 五、五、Mysql数据库管理的基本操作数据库管理的基本操作 1. 数据库的相关操作数据库的相关操作(创建、删除、查看、选择创建、删除、查看、选择)

18、2. MySQL数据库中的一些字段类型解释数据库中的一些字段类型解释 3.数据表的操作数据表的操作(创建、删除、修改创建、删除、修改) 4.添加、删除、修改数据添加、删除、修改数据 1.数据库的相关操作数据库的相关操作 1)创建数据库创建数据库 使用使用MySQL创建数据库,格式如下:创建数据库,格式如下: MySQL CREATE DATABASE * ; Query OK, 1 row affected (0.01 sec) 2)显示数据库列表显示数据库列表: mysqlshow databases; 3)选择要用的数据库,查看包含的信息选择要用的数据库,查看包含的信息 MySQL USE

19、 *; Database changed MySQL SHOW TABLES; 4)显示表格显示表格 mysqlshow tables from mydb(数据库名数据库名); 显示表结构显示表结构: mysqldesc mydb.tablename; 等价于等价于 mysqlshow columns from mydb.tablename ; 5)删除数据库)删除数据库 MySQL DROP DATABASE *; 6)显示显示MySQL数据库的版本:数据库的版本: mysqlselect version(); SQL主要语句语法数据定义语句 CREATE DATABASE语法 CREATE

20、 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 表级完整性约

21、束条件表级完整性约束条件 主关键字约束指定表的一列或几列的组合的值在主关键字约束指定表的一列或几列的组合的值在 表中具有惟一性,即能惟一地指定一行记录。表中具有惟一性,即能惟一地指定一行记录。 每个表中只能有一列被指定为主关键字,且每个表中只能有一列被指定为主关键字,且IMAGE IMAGE 和和TEXT TEXT 类型的列不能被指定为主关键字,也不允类型的列不能被指定为主关键字,也不允 许指定主关键字列有许指定主关键字列有NULL NULL 属性。属性。 语法如下:语法如下: CONSTRAINT constraint_namePRIMARY KEY CONSTRAINT constrain

22、t_namePRIMARY KEY (column_namecolumn_name) column_namecolumn_name指定组成主关键字的列名指定组成主关键字的列名 constraint_nameconstraint_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 (ind

23、ex_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

24、 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

25、 视图名 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 BYASC|DESC; Select查询语句 SELECT指明需要查询的项目,一般是列名,也 可以是表达式,查询表中未存储但可导出的结果。 WHERE用来说明查询的条件 DISTINCT任选项用

26、来消除查询结果的重复项 GROUP用来将结果按列名1的值进行分组,该属 性列值相等的元组为一组 ORDER将结果表按列名2的值升序或降序排序 where 查询满足条件的元组(where 子句) 1.比较大小 2.确定范围(BETWEENAND/Not Beteween.and) 3.确定集合(IN, NOT IN) 4.字符匹配(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中没有出现的属性列,新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论