Linux初学5-2 连接mysql

mahy 2009-02-09

1、连接MySQL服务器

本机既有服务器端也有客户端

本机通过客户端连接到另一台服务器

本机没有任何MySQL软件,连接到另一台服务器端

2、连接服务器的命令

Windows系统:mysql-hhostname-uusername-ppassworddatabasename

Linux系统:mysql-hhostname-uusername-ppassworddatabasename

退出命令:quit

3、创建并使用第一个数据库

设置密码:setpassword=password('password')

创建数据库:createdatabasedb_name

给用户分配数据库:grantallondb_name.*touser_name@localhostidentifiedbypassword

使用数据库:mysql-uuser_name-ppassworddb_name

usedatabase_name

4、查询表

显示当前数据库中的表:showtables

显示指定表的结构:decribetable_name

5、列数据类型:

分为数字型、字符串型和日期

1、数字型:分为整形和浮点型,可以有两个选项:unsigned(无符号,只存储正数)和zerofill(用0填充而不是空格)

范例:createtablea(idintzerofill);

数字型:以字串的形式存储,decima/numeric

小数型:float/double

整数型:intbiginttinyint

2、字符串型

charvarchar等

3、日期型

datetimetimestamp等

4、枚举型

enum('男','女')

6、创建表

createtabletab_name(column_define);

关系的实现:(键和约束)主键:primarykey惟一:unique非空:notnull检查:check外键:foreignkey

约束在创建表的时候定义约束

通过修改表实现约束

createtableemp(

empnointprimarykey,

enamevarchar(10)notnull,

saldouble(6,2),

dnointforeignkeyreferencesdept(dno));

通过修改表实现约束:

altertabletab_name

addconstraintcon_namecon_type(col_name)define;

7、数据操作

插入数据:insertintotable_name(col_list)values(values_list);

insertintotable_name(col_list)values(values_list),(values_list),...

删除记录:delete

更新记录:update

8、修改表:

添加列:add

修改列:change

重命名表:rename

删除列:drop

9、简单数据检索:

列选取:*col_list

列别名:as

行过滤:like%_andnotor

排序:orderbydescasclimitn1n2n1:偏移量n2:行数

汇总:最大值max,最小值min,计数count,消重distinct,平均avg,求和sum

10、日期数据处理

日期标准格式:yyyy-mm-dd,日期用‘’引起

日期格式:date_format(date,'%m/%d/%y')

日期函数:

当前日期:now()current_date

取时间的某个部分:year()month()dayofmonth()dayofyear()

11、高级查询:

分组:groupby

连接:join

等值连接和不等值连接

外连接

12、安全管理

grantpriviegesonwhattouseridentifiedbypassword

1、谁连接——用户名

2、在那里连接——@String:String主机名或IP或通配符

3、什么样的权限——权限名字

4、是不是委派——此用户是不是可以把自己的权限分配给别人

grantallon*.*toabc@'%'identifiedby'password'withgrantoption;

grantselectonabc.emptohygj@'%'identifiedby'password'withgrantoption;

相关推荐