设为首页 加入收藏

TOP

mysql使用总结
2015-07-24 10:44:02 来源: 作者: 【 】 浏览:1
Tags:mysql 使用 总结

数据库管理系统DBMS

DBMS,Database Management System数据库管理,简单说:就是管理数据的一个大型软件。DBMS主要对数据进行管理、维护等操作,或者对数据的安全性和完整性的处理。

常见的DBMS系统:

ACCESS:Microsoft公司开发的小型数据库管理系统;

SQL SERVER:Microsoft公司开发的,面向大中型网站;

Oracle:美国甲骨文公司开发的,大型或超大型数据方面的应用;

MySQL:完美组合Linux+Apache+PHP+MySQL,MySQL是瑞典AB公司开发,现在被Oracle收购了。

数据库中相关概念

数据库:是存放数据的一个仓库。比如:相当于系统中的文件夹。像公司的一个文件柜。

数据表:就是存放数据的具体的场所。相当于系统中的不同类型的文件。像公司的一个文件。

记录:数据表中的一行内容,称为“一条记录”

因此,我们在创建数据表时,一定要创建一个id列,用于标识“这是第几条记录”,id列的值不能相同,必须唯一,就相当于身份证号一样。

字段:一个表中的各个列,就叫“字段”,在数据库中的每个字段,都是有规定的,比如:字段的数据类型、空与不空的判断、自动增长等。

数据:行和列的交叉处,就是真正的“数据”。

MySQL操作:(1)使用phpMyAdmin软件操作(2)在MySQL客户端来操作(也就是DOS命令行下)

\

登录和退出MySQL客户端

\

一、登录MySQL客户端<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+0++3qCYjMjY2ODQ7yr2jum15c3FsICAgqENo1ve7+sP7u/JpcLXY1rcgICAtddPDu6fD+yAgIC1ww9zC6zwvcD4KPHA+vtnA/aO6PHN0cm9uZz5teXNxbCCoQ2hsb2NhbGhvc3QgICAtdXJvb3QgICAtcHJvb3Q8L3N0cm9uZz48L3A+CjxwPrLOyv3LtcP3o7o8L3A+CjxwPiAgICAgICAtaKO6tPqx7U15U1FMtcTW97v6w/u78klQtdjWt6OsyOejui1oMTI3LjAuMDEgICAtaGxvY2FsaG9zdDwvcD4KPHA+ICAgICAgIC11o7q0+rHtTXlTUUzW0LXE08O7p8P7o6zErMjPysdyb290PC9wPgo8cD4gICAgICAgLXCjurT6se1NeVNRTNbQ08O8x7XEw9zC66OsxKzIz8rHcm9vdDwvcD4KPHA+PHN0cm9uZz7XotLio7o8L3N0cm9uZz48L3A+CjxwPtPvt6jW0Lj3uPa2ztauvOTTw7/VJiMyNjY4NDu31r+qo7sgyOe5+8TjsrvP68jDsfDIy7+0tb3E48rkyOu1xMPcwuujrNTatcfCvE15U1FMv827p7bLv8nS1M/IsrvK5MPcwuujrNaxvdO72LO1o6y74czhyr7K5Mjrw9zC66Os1eLKsbrytcTD3MrH0tShsCqhsbrFz9TKvqO7sLLXsM3qcGhwU3R1ZHnWrrrzo6zWu9PQ0ru49nJvb3TTw7uno6zL/MrHs6y8trncwO3UsaGjPC9wPgo8cD48L3A+CjxwPjxpbWcgc3JjPQ=="https://www.cppentry.com/upload_files/article/57/1_gmgdk__.png" alt="\">

二、退出MySQL客户端的命令

exit或quit

在DOS命令行下,可以使用键盘上的“上下箭头”来把曾经使用过的命令重新调出来执行。

三、修改root用户的密码

1、使用 mysqladmin.exe 程序来进行修改(在DOS命令下)

C:\>mysqladmin.exe ?hlocalhost ?uroot ?proot password 新密码

注意:mysqladmin.exe这命令的使用,是在DOS命令使用,并不是MySQL的客户端。新密码可以不加引号;

\

2、在MySQL客户端来修改密码(当前账号的密码)

语法格式:

Mysql> set password=password(‘新密码’);

注意:

password( )是MySQL的一个加密函数

md5( )是PHP中的一个加密函数

\

数据库操作

一、创建数据库

语法:Create Database [IF NOTEXISTS] db_name [CHARSET]

参数:

CreateDatabase是创建数据库的命令;

[IFNOT EXISTS]是可选项,如果不存在,再进行创建;

db_name:是要创建的数据库的名称,命名方式跟变量一样,但不加$符号;

[CHARSET]设置数据库的字符集,如果不设置会用MySQL的默认字符集latin1;

举例:

CREATEDATABASE IF NOT EXISTS zhangsan CHARSET utf8;

CREATEDATABASE zhangsan; //使用的是默认字符集latin1

二、显示所有数据库

语法:show databases

三、删除数据库

语法:DROP DATABASE [IF EXISTS] db_name

说明:

Dropdatabase是删除数据库的命令;

[IFEXISTS]是可选项,如果存在,再进行删除,不会出现出错的信息;

举例:

DROPDATABASE IF EXISTS zhang; //删除数据库zhang

四、选择数据库

语法:USE db_name

五、更改数据库默认字符集

1、更改MySQL的配置文件:C:\Program Files (x86)\phpStudy\MySQL\my.ini

客户端(Client Section):default-character-set=gbk

服务器端(Server Section):default-character-set=latin1

2、在MySQL客户端使用命令修改

ALTER DATABASE dbname DEFAULT CHARACTER SET gbk

\

数据表操作

一个网站可以有多张表:新闻表、管理员表、产品表、留言表.

一、显示当前数据库中的所有表

语法:show tables FROM db_name

说明:查询某一个数据库中的所有的表

二、创建数据表

语法结构:

CREATE TABLE table_name(

列名1 列的类型类型 列的属性,

列名2 列的数据类型 列的属性,

列名3 列的数据类型 列的属性

)

参数说明:

列名1,指定每个字段的名称,命名跟变量一样;

列的数据类型:指定每个字段存储什么样的数据;

列的属性:对列更详细的设置

举例:

CREATE TABLE 007_news(
       id          int                        notnull auto_increment primary key,
       title         varchar(50)            not null,
       content    text                       null,
       addate     int(12)                  not null
);

列的常用属性

(1)not null | null 指定列的值可以为空,还是不空,默认为null,一般id字段不能为空;

(2)DEFAULT default_value ,设置某个列的默认值,默认值可以是字符串或数字。

举例:sex tinyint not null DEFAULT 1;

(3)auto_increment:指定某个列为自动增长型,一般是指为id字段,可以保证id的值永不重复;

(4)primary key:是主键索引。主键索引必须给具有auto_increment属性的字段来添加。主键索引只能是一个,其它的都是普通索引。

索引:就相当于一本书的目录索引,通过目录查询要看的内容,比直接翻书翻到要快得多。

id字段是每个数据表都必须有的字段,id字段必须具有这三个属性:not null、auto_increment、primarykey。

三、修改数据表

语法:ALTER TABLE table_name ……

提示:使用phpMyAdmin来修改数据表

四、删除数据表

语法:DROP TABLE table_name FROM db_name

五、显示表结构

语法:Describe table_name或者Desc table_name

功能:显示某一个表的结构

\

MySQL数据类型

整型、浮点型、字符型、文本型、日期型

一、整型

tinyint:最小整数,1个字节表示,-128~127(带符号) 0-255、如:性别、邮件是否已读

smallint:小型整数,2个字节表示,0-65535,如:工资

mediumint:中型整数,3个字节表示,0-1677万

int:一般整数,4个字节表示,0-42亿,如:文章的点击率

bigint:大型整数,8个字节表示,2^64-1

二、浮点型

float(m,d):可以精确到小数点后7位,m代表总长度,d代表小数位数;

float(6,2):表示总长度为6位(不含小数点),小数位数是2位。如:1200.65

double:可以精确到小数点后15位。

三、字符型

char(M):固定宽度,取值范围0-255个字符,如:新闻标题、贴子标题等

char[10],假设我存了5个字符,其它的空间会用空格填充。

参数M指定字段的宽度;

varchar(M):自动伸缩型,取值范围0-65535个字符,如:新闻标题、贴子标题等

varchar(10),假设我存了5个字节,它的长度应该是6,这里多出的1是字符长度。

四、文本型

TINYTEXT,1个字节,0-255个字符

TEXT,2个字节,0-65535个字符

MEDIUMTEXT,3个字节,0-1677万个字符

LONGTEXT,4个字节,0-42亿个字符

五、日期时间型

Date:格式YYYY-MM-DD存储,如:2014-08-01

Time:格式HH:mm:ss存储,如:12:09:30

Datetime:格式YYYY-MM-DD HH:mm:ss存储

Timestamp:格式YYYY-MM-DD HH:mm:ss

$addate = time();

Date(“Y-m-d H:i;s”);

注意:在MySQL的客户端如何显示简体中文?

因为MySQL的客户端默认字符集,应该是GBK,因此显示时,要把当前的显示字符集改为GBK;

格式:set names gbk

只需要设置数组库的字符集,数据表将继承数据库中的字符集。

show命令

1、显示MySQL主机的所有数据库:SHOWDATABASES;

2、显示某个数据库中的所有表格:SHOW TABLES [FROM db_name];

3、显示创建数据库时的语句:SHOW create database db_name

4、显示某个数据库中表的结构:SHOW TABLE table_name [FROM db_name]

SQL简介

SQL,Structured Query Language结构化查询语言。SQL是操作和管理数据库的语言。

常用的SQL语句:增加、删除、修改、查询。

一、增加数据 INSERT INTO

语法:INSERT INTOtable_name(title,author,content,addate) VALUES(‘从8月开始每个人都可以申请城市户口’,’admin’,’内容……’,11010101010)

注意事项:

(1) 字段列表与值的内容列表,个数和顺序必须一致;

(2) id字段不需要管它,它是自动增长型。

二、删除记录DELETE FROM

语法:DELETEFROM table_name [WHERE条件]

举例:

DELETEFROM news WHERE id=3; //删除id=3的记录

DELETEFROM news WHERE id<4; //删除id<4的记录

DELETEFROM news WHERE id>10 and id<20; //删除20>id>10的记录

DELETEFROM news WHERE id>10 or author=’admin’ ; //删除id>10的所有记录,或者author=’admin’记录

TRUNCATE table_name

功能:删除所有数据,并重新将id值归0.

说明:与deletefrom删除全部数据要快的多。

举例:TRUNCATEnews

三、修改记录 UPDATE SET

语法:UPDATEtable_name SET 字段1=新值1,字段2=新值2 [WHERE条件]

注意:更新数据时,一定要指定WHERE条件,否则,整个表都会更新为一样

举例:

UPDATEnews SET author=’zhangsan’,hits=100000 WHERE id=120 //id=120的记录修改

UPDATEnews SET title=’新闻的新标题’ WHEREid=130;

……

四、查询数据SELECT

语法:SELECT *"字段列表 FROM table_name [WHERE条件][ORDER BY 字段 ASC|DESC] [LIMIT限定输出的结果]

参数:

*:将列出所有字段的数据,一般是当字段少的时候才用;

字段列表:指定要查询的字段,多个字段间用逗号隔开,如:SELECT id,title,addate FROM 007_news

[WHERE条件]指定查询的条件;

[ORDERBY]对哪些字段进行排序,排序分升序(ASC)和降序(DESC)

[LIMIT]限制输出的记录数

WHERE条件子句

Like运算符:实现字段模糊查询,比如:查询所有标题中含有北京的所有记录。

%:相当于windows系统中的搜索中的匹配符号“*”

WHEREtitle LIKE ‘%北京%’; //标题中含有北京的记录

WHEREauthor LIKE ‘a%’; //查询以“a”字符开头的作者

……

Order By排序子句

对一个字段或多个字段进行排序,排序的关键字有两个:升序(ASC)默认、降序(DESC)

SELECT * FROM news ORDER BY id DESC //对id字段进行降序排列

SELECT * FROM news ORDER BY author ASC,addate DESC //作者升序排列,时间倒序排列

Limit子句

限定要输出的记录数。

语法:LIMIT startrow,rows

参数:startrow表示开始行号,rows表示要显示多少条记录

提示:LIMIT语句主要应用于 ,网页的数据分页。

举例:LIMIT 0,10 //从第0行起,输出10条记录,不包括第0行。

LIMIT 1,10 //从第1行起,输出10条记录,不包括第1行。

LIMIT 15,10 //从第15行起,输出10条记录,不包括第15行。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SigningPowerShellScripts 下一篇win7安装mongodb绝对正确

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ Lambda表达式保 (2025-12-26 05:49:45)
·C++ Lambda表达式的 (2025-12-26 05:49:42)
·深入浅出 C++ Lambda (2025-12-26 05:49:40)
·C语言指针从入门到基 (2025-12-26 05:21:36)
·【C语言指针初阶】C (2025-12-26 05:21:33)