SQL语句

SQL语句

一. 主要类型

  • DDL:数据定义语言,用来定义数据库对象(库、表、列等);
  • DML:数据操作语言,用来定义数据库记录;
  • DCL:数据控制语言,用来定义访问权限和安全级别;
  • DQL:数据查询语言,用来查询记录

二. DDL(数据定义语言)

1. 数据库操作

主要的数据库操作有查看、创建、删除、切换数据库。

以root的身份登录MySQL,查看用户所有的数据库,命令:

show databases; //分号不可缺少

在没有创建数据库之前,系统会自动创建一些数据库,有4个,分别为information_schema、mysql、performance_schema、sys,需要注意的是,不能对这些系统创建的数据库进行修改或者其他操作,否则可能会造成MySQL使用异常,严重的会造成数据库不能使用。
这里写图片描述

创建数据库的命令:

create  database  数据库名;

删除数据库的命令:

drop  database   数据库名;

数据库的切换命令:

use 数据库名;

2. 数据库中表的操作

表操作主要包含表的创建、修改和删除等,其中表的修改又包括增减列、修改列、修改表名等。

查询数据库的所有表的命令:

show tables

表的简单创建语句格式:

create  table   表名(
列名1    列类型1,
列名2    列类型2,
   ..........
列名n    列类型n
);

查看表结构的命令:

desc    表名;

修改表之增减列
1) 命令格式:

alter   table   表名
xxxxxxxxxx;

2) 增加列的命令:

alter   table   表名
add  新列名  新列类型;

3) 删除列的命令为:

alter   table   表名
drop   列名;

修改表之修改列
包括修改列类型和修改列名(同时伴随列类型的修改)
1) 修改列类型的命令为:

alter   table   表名
modify   列名   列新类型;

2) 修改列名的命令为:

alter   table   表名
change    列名    新列名    新列类型;

修改表名称的命令为:

alter   table   表名
rename   to   新表名;

删除表的命令为:

drop   表名;

三. DML(数据操作语言)

1. 插入数据

命令格式:

INSERT INTO 表名 VALUES(数据1,数据2....,数据n);//插入数据的顺序与表中字段的顺序是一样的
INSERT INTO 表名(字段1,字段2....,字段n) VALUES(数据1,数据2....,数据n);//插入数据的顺序与表名后面括号的顺序一致即可 可与表中字段顺序不一致

关于INSERT语句有以下说明:
1) AUTO_INCREMENT自增字段,这个我们是不用给出值的,因为系统会自动为该字段来进行自增,但是如果您愿意,也是可以传值的,看您心情。
2) UNIQUE这个我们也说过,就是字段唯一的意思,比如说用户的id设置UNIQUE,已经存在一条用户id为1的数据,如果此时您再想插入一条用户id为1的数据是不会成功的,系统会出错的。
3) 如果数据库字段允许存在NULL值的话,我们在insert插入语句中,也是可以将字段值设为NULL的。
4) 在MySQL4.0.3及更高版本都支持一个DEFAULT关键字,在我们使用 insert 语句的时候,可以使字段的值等于DEFAULT关键字,来使其等于数据库创建的时候的default值。

2.修改数据

格式:

UPDATE 表名 set 想改字段=值 where 条件;

3.删除数据

格式:

DELETE FROM 表名 WHERE 条件;

四. DCL(数据控制语言)

主要内容:主要包括创建用户、给用户授权、对用户撤销授权、查询用户授权和删除用户等。

1. 创建用户

需要使用root用户登录之后进行操作,创建用户的命令为:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

解释:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

2. 给用户授权

创建用户之后,可以使用新用户进行登录,查看数据库只有系统自带的数据库,想要操作自己创建的数据库还需要root用户对新用户进行授权,给用户授权的命令为:

GRANT privileges ON databasename.tablename TO 'username'@'host'

解释:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户(一般不用)可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

3. 撤销用户权限

命令格式:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

解释:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

4. 删除用户

命令格式:

DROP USER 'username'@'host';

5. 查看用户权限

root用户查看用户权限的命令为:

show   grants    for   用户名@IP;

五. DQL(数据查询语言)

数据查询在本人看来是数据库的核心,基本语法直接查询W3school中SQL教程即可,地址:http://www.w3school.com.cn/sql/index.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值