Mysql 入门知识

Mysql入门知识,必须掌握。自己整理的。分享给大家。

 

 

一、        SQL使用入门

A.        DDL(Data Definition Languages)

1.         创建数据库
create database test1;

2.         显示所有数据库
show databases;

3.         删除数据库(谨慎使用)
drop database dbname;

4.         进入数据库
use [dbname];

5.         显示所有表
show tables;

6.         创建表
create table tablename (column_name column_type [constraints]…);

7.         查看表结构
desc tablename;
show create table tablename;

8.         删除表
drop table tablename;

9.         修改表

a)         修改表类型
alter table tablename modify column column_definition [first | after col_name]

b)         增加表字段
alert table tablename add column column_definition [first | after col_name]

c)         删除表字段
alert table tablename drop column column [first | after col_name]

d)         修改字段名
alert table tablename change old_column new_column column_definition [first | after col_name]

e)         修改字段排列顺序
前面的语句都有一个可选项 [first | after col_name] 这个选项是用来修改字段在表中的位置,
在某个字段之后
alter table tablename add column column_definition after ename
放到字段最前面
alter table tablename add column column_definition first

10.     修改表名
alter table old_table_name rename new_table_name

B.        DML(Data Manipulation Language)

1.         插入记录
insert into tablename (fileld1,fileld2…) values (value1,value2…);

2.         更新记录
update tablename set field1=value1,field2=value2… [where condition]

3.         删除记录
delete from tablename [where condition]

a)         查询记录
查询所有字段信息
select * from tablename [where confition]

b)         查询不重复记录(distinct)
select distinct * from tablename;
select distinct field… from tablename;

c)         条件查询
select * from tablename where field=value and …
可以用=,>,>=,<,<=,!=
多个条件之间还可以使用or,and

4.         排序和限制
select * from tablename [where condition] [order by field1 [desc | asc],field2 [desc | asc],…]
DESC
降序
ASC
升序
order by
后可以跟多个排序字段
如果不写默认是升序
对于排序后的记录只希望显示一部份,可以用 limit offset_start, row_count

5.         聚合

a)         Sun(求和)

b)         Count(记录数)

c)         Max(最大值)

d)         Min(最小值)

e)         Group by 分类

f)          With rollup 分类后的结果进行再汇总

g)         Having 分类后的结果进行条件过滤

6.         表连接

a)         表连接分为内连接和外连接

1.         内连接仅选出两张表互相匹配的记录

2.         外连接会选出其它不匹配的记录。我们通常常用的是内连接。

a)         外连接分为“左连接”和“右连接”
左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。
右连接:包含所有的右边表中的记录甚至是左边表中没有匹配的记录。

b)         Sfa

7.         子查询

a)         某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候要用到子查询,用于子查询的关键字包括innot in=!=existsnote exists等。

8.         记录联合

a)         我们经常会碰到这样的应用,将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示。这个时候需要用到union union all关键字来实现这样的功能。
slelect field from tablename union all select field from tablename

b)         Union
union
是将union all 后的结果进行一次distinct,去除重复记录后的结果。

c)         Union all
是把结果集直接合并在一起。

C.        DCL(Data control Language)数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grantrevoke等。

1.         DCL语句主要是DBA用来管理系统中的对象权限进使用,一般的开发人员很少使用。
创建一个数据库用户zl,具有对sakila数据库中所有表的select/insert权限。
grant select,insert on sakila.*to’zl’@’localhost’ identified by ‘123’;
由于权限变更,需要将zl的权限变更,收回insert权限,
revoke insert on sakila.* from ‘zl’@’localhost’;

D.        帮助的使用
? Contents 命令来显示所有可供查询的分类。
? Show 快速查询某项语法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值