天天看点

mysql数据库

1、mysql数据库语言基础

查看mysql数据库的版本号:show version();

sql (structured query language) 结构化查询语言

库的操作:

查看:show databases;

切换:use dataname;

创建:create database dataname;

删除:drop database dataname;

表的操作:

创建:create tables table_name ( column_name column_type);

删除:drop table table_name;

表名重命名:alter table table_name rename new_name;

向表中添加列:alter table table_name add link varchar(100);

删除表中一列:alter table table_name drop column link;

修改一个列的数据类型:alter table table_name modify link varchar(100);

重命名一个列:alter table table_name change column  old_link new_link varchar(100);

插入数据:insert into table_name ( field1, field2,...fieldn )

                      values

                      ( value1, value2,...valuen );

查询:select column_name,column_name

from table_name

[where clause]

[offset m ][limit n]

where子句

select field1, field2,...fieldn from table_name1, table_name2...

[where condition1 [and [or]] condition2.....

操作符

<col>

描述

实例

=

等号,检测两个值是否相等,如果相等返回true

(a = b) 返回false。

&lt;&gt;, !=

不等于,检测两个值是否相等,如果不相等返回true

(a != b) 返回 true。

&gt;

大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true

(a &gt; b) 返回false。

&lt;

小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true

(a &lt; b) 返回 true。

&gt;=

大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true

(a &gt;= b) 返回false。

&lt;=

小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true

(a &lt;= b) 返回 true。

更新:update table_name set field1=new-value1, field2=new-value2

like子句:select field1, field2,...fieldn table_name1, table_name2...

where field1 like condition1 [and [or]] filed2 = 'somevalue'

删除:delete from table_name [where clause]

排序:select field1, field2,...fieldn table_name1, table_name2...

order by field1, [field2...] [asc [desc]]

mysql 数据类型(数值、日期时间、字符串):

数值类型:

类型

大小

范围(有符号)

范围(无符号)

用途

tinyint

1 字节

(-128,127)

(0,255)

小整数值

smallint

2 字节

(-32 768,32 767)

(0,65 535)

大整数值

mediumint

3 字节

(-8 388 608,8 388 607)

(0,16 777 215)

int或integer

4 字节

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

bigint

8 字节

(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

极大整数值

float

(-3.402 823 466 e+38,1.175 494 351 e-38),0,(1.175 494 351 e-38,3.402 823 466 351 e+38)

0,(1.175 494 351 e-38,3.402 823 466 e+38)

单精度

浮点数值

double

(1.797 693 134 862 315 7 e+308,2.225 073 858 507 201 4 e-308),0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)

0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)

双精度

decimal

对decimal(m,d) ,如果m&gt;d,为m+2否则为d+2

依赖于m和d的值

小数值

日期和时间类型:

(字节)

范围

格式

date

3

1000-01-01/9999-12-31

yyyy-mm-dd

日期值

time

'-838:59:59'/'838:59:59'

hh:mm:ss

时间值或持续时间

year

1

1901/2155

yyyy

年份值

datetime

8

1000-01-01 00:00:00/9999-12-31 23:59:59

yyyy-mm-dd hh:mm:ss

混合日期和时间值

timestamp

1970-01-01 00:00:00/2037 年某时

yyyymmdd hhmmss

混合日期和时间值,时间戳

字符串类型

char

0-255字节

定长字符串

varchar

0-65535 字节

变长字符串

tinyblob

不超过 255 个字符的二进制字符串

tinytext

短文本字符串

blob

0-65 535字节

二进制形式的长文本数据

text

长文本数据

mediumblob

0-16 777 215字节

二进制形式的中等长度文本数据

mediumtext

中等长度文本数据

longblob

0-4 294 967 295字节

二进制形式的极大文本数据

longtext

极大文本数据

2、mysql数据用户

创建一个新的用户:cteate user 用户名 identified by '密码'

删除用户:drop user 用户名:

重命名用户名:rename user 原用户名 to 新用户名;

修改当前用户密码:set password=passowrd('新密码');

修改指定用户密码:set password for 用户名=password('新密码');

3、mysql权限管理

mysql权限控制系统控制一个用户是否能进行连接,以及连接以后能够针对哪些对象进行什么样的操作

mysql权限控制两个阶段

1、检查用户是否能够连接mysql

2、检查用户是否具有所执行动作的权限

mysql权限层级

1、全局层级

2、数据库层级

3、表层级

4、列层级

5、子程序层级

授予一个用户权限

grant all privileges on 层级 to 用户名@主机 identified by 密码

撤销一个用户权限

revoke all  privileges from 用户名;

主机 (可以使用的形式)

1、所有主机 %

2、精确的主机或ip地址: www.it-team.cn  或 120.26.119.66

3、使用 * 通配符   *.it-team.cn

4、指定一个网段: 192.168.1.0/255.255.255.0

4、mysql备份恢复

mysql使用mysqldump工具备份恢复 (备份出来的是纯文本的sql文件,可以修改后作为其他数据库使用)

备份:mysqldump -u 用户名 -p  数据库名称  &gt; 备份文件.sql

恢复:mysql -u 用户名  -p    数据库名称 &lt; 备份文件.sql

数据库的编码  

编码主要影响:1、数据库保存相同内容所占用的空间大小

2、数据库与客户端通信

mysql 数据库的默认编码是 latin1  可以通过修改配置文件编码格式

查看当前编码:

show variables like 'character_set%';

show variables like 'collation%’

查看支持编码命令   show character set;

创建数据库指定编码:

create database 数据库名

default character set utf8

default collate  utf8_general_ci;

修改一个数据库的编码

alter database  数据库名 character set utf8 collate  utf8_general_ci;

继续阅读