SQL语言

一、DDL数据库定义语言

1、登录mySQL

mysql -u"用户名" -p"密码" -h"登录地址

-h:默认为本机

示例:

2、查看当前存在的数据库

show databases;

示例:

3、创建数据库database

create database 数据库名称;

创建数据库db01

示例:

4、删除数据库database

drop database 数据库名称;

删除数据库db01

示例:

5、使用数据库

在数据库中创建/修改数据表时,需先使用数据库

use 数据库名称

使用数据库db01

示例:

二、DML数据库操作语言

数据表结构

一列为一个字段,一行为一条记录

1、查看当前数据库下存在的数据表

use 数据库名;

show tables;

示例:

新创建的数据库中未存在数据表

2、创建数据表

create table 数据表名称 (字段01 数据类型 约束,字段02 数据类型 约束...);

在数据库中创建数据表时,需要先使用数据库,但也可以用数据库.数据表的方式调用数据表

在数据库db01下创建数据表tab01

示例:

3、查询数据表结构

desc 数据表名称;

查询数据表tab01的结构

示例:

4、删除数据表

drop table 数据表名称;

删除数据表tab01

示例:

5、向数据表中插入数据

1、插入一条数据记录

insert into 数据表名称 values (数据01,数据02..);

向数据表插入数据记录时,数据记录中的数据需与数据表的字段一一对应,并且数据类型相同

向数据表tab01中插入一条数据记录

示例:

2、插入多条数据记录

也可以一次向数据表中插入多条数据记录,不同数据记录之间用逗号隔开

示例:

3、只向数据表的部分字段插入数据

insert into 数据表名称(字段01,字段02,...) values (数据01,数据02,...);

插入的数据也需和字段一一对应

示例:

只向部分字段插入数据时,本条数据记录,其余未插入数据的字段为NULL值

也可以向部分字段一次插入多条数据

示例:

6、删除数据表中的数据记录

delet from 表名 where 字段=数值01;

删除数据表tab01中字段name为张三的数据记录

示例:

7、修改数据表的结构

1、向数据表插入一个新字段

在数据表的末尾插入一个新字段

alter table 表名 add 字段 数据类型 约束;

向表tab01中插入height字段,数据类型为int

示例:

在数据表的开头插入一个字段,在末尾加上first即可

示例:

2、删除数据表中的一个字段

alter table 表名 drop 字段;

删除数据表tab01中的height字段

示例:

3、修改数据表中某个字段的数据类型

alter table 表名 modify 字段 数据类型;

修改数据表tab01中的id字段数据类型为varchar

示例:

4、修改字段名和字段数据类型

alter table 表名 change 字段名 新字段名 数据类型;

新数据类型可以和字段原数据类型相同

修改数据表tab01字段id的名字为id_number,数据类型为int

示例:

5、alter修改用户密码

alter user "用户名"@"登录主机" identified by "新密码";

或者还可以使用mysqladmin命令修改用户密码

三、DQL数据库查询语言

1、查询数据表中的所有数据记录

select * from 数据表名;

查询数据表tab01中的所有数据记录

示例:

2、只查询数据表中部分字段的数据记录

select 字段01,字段02,... from 数据表名;

查询数据表tab01中的name和age字段的数据记录

示例:

3、将数据记录按照某个字段进行降序排列输出

select * from 数据表名 order by 字段 desc;

将tab01的数据记录按照age字段进行降序输出

示例:

4、将数据记录按照某个字段进行升序排列输出

select * from 数据表名 order by 字段 asc;

将tab01的数据记录按照age字段进行升序输出

示例:

++条件查询++

5、查询字段数据在规定的取值范围内的数据记录

select * from 数据表名 where 字段 between 数值01 and 数值02;

查询字段age中数据在20--30范围内的数据记录

示例:

6、查询满足 字段01数据=数据01 并且 字段02数据=数据02 的数据记录

select * from 数据表名 where 字段01=数据01 AND 字段02=数据02;

查询 字段name=张三,并且 字段age=23 的数据记录

示例:

7、查询满足 字段01数据=数值01 或者 字段02数据=数据02 的数据记录

select * from 数据表名 where 字段01=数据01 OR 字段02=数据02;

查询 字段name=李四 或者 字段age=23 的数据记录

示例:

8、查询字段数据在规定的数值中的数据

select * from 数据表名 where 字段 in (数据1,数据2,...);

查询字段age的数值为21,23,24的数据记录

示例:

相比与between and, in 的数值范围更加精确

9、查询字段数据为NULL值的数据记录

select * from 数据表名 where 字段 is NULL;

查询字段mail中数据为NULL值的数据记录

示例:

四、DCL数据库控制语言

1、创建用户

create user "用户名"@"登录主机" identified by "密码";

创建本地用户user01,密码为MySQL@123

示例:

登录主机可以为本地也可以为其他远程服务器的IP地址

mysql的用户信息存放在数据库mysql的数据表user中,可以使用select查询用户信息

2、赋予用户权限

grant 权限(字段01,字段02) on 数据库.数据表 to "用户名"@"登录主机";

权限:

all:所有操作权限

create,创建权限

drop,删除权限

select,查询数据权限

insert,插入数据权限

update,更新数据权限

delete,删除数据权限 等....

数据库.数据表

示例:

*.*,对所有库、表、字段都有操作权限

mysql.*,只对mysql库及库中的表有操作权限

mysql.user,只对mysql库中的user表有操作权限

给用户user01赋予数据库db01中tab01表的所有权限

示例:

show grants for "用户名"@"登录主机"\G; 查看用户的所有权限

3、收回用户的权限

revoke 权限 on 数据库.数据表 from "用户名"@"登录主机";

收回用户user01对tab01表的所有权限

示例:

4、删除用户

drop user "用户名"@"登录主机";

删除本地用户user01

示例:

相关推荐
Yz987615 分钟前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康21 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王26 分钟前
《MySQL 数据库备份与恢复》
mysql
苏-言27 分钟前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...33 分钟前
索引(MySQL)
数据库·mysql·索引
菠萝咕噜肉i1 小时前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
长风清留扬1 小时前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
OpsEye1 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...1 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
远歌已逝4 小时前
维护在线重做日志(二)
数据库·oracle