一,SQL指结构化查询语言,全称是Structured Query Language。
SQL可以访问和处理数据库,包括数据查询,插入,更新和删除。
SQL可以创建新数据库,新的表和创建存储过程。
sql语句分为四类 DDL数据定义语言 DML数据操作语言 DQL数据查询语言 DCL数据控制语言
二,
DDL
DDL是数据定义语言,主要是对数据库和数据表的操作
++数据库相关++
创建库
create database 库名;//database:数据库
创建库时判断库是否存在,不存在则创建
create database if not exists 库名;
查看所有数据库
show databases;
使用指定数据库
use 库名;
查看当前指定数据库包含的数据表
show tables;
查看数据库的结构定义信息
show create database 库名;
删除数据库
drop database 库名;
修改数据库的字符集为utf8
alter database 库名 character set utf8;
++数据表相关++
创建表
create table 表名(
字段1 类型1,
字段2 类型2,
字段3 类型3,
...........
);
查看表结构
desc 表名;//desc:说明,概述,描述
查看创建表
show create table 表名;
修改表名
alter table 表名 rename to 新的表名;//rename:重命名
添加一个新的字段
alter table 表名 add 字段; 字段类型;
修改字段名
alter table 表名 rename column 字段名 to 新的字段名;//在数据库中,"column"表示表中的一列。
修改字段类型(注意类型修改前后数据是否兼容)
alter table 表名 modify column 字段名 新的字段类型;//modify:修改,更改,修饰
删除一个字段
alter table 表名 drop 字段名;
删除表
drop table 表名;
删除表时判断表是否存在,若存在则删除
drop table if exists 表名;
三,
DML
DML是数据操作语言,主要是对数据表的操作
数据表插入数据分为全字段插入数据和部分字段插入数据
①全字段插入数据
有多少个字段,就要写多少个值,且是一一对应的
insert into 表名 values(值1,值2,值3...值n);
②部分字段插入数据
部分字段插入数据,只写需要插入数据的字段名
insert into 表名(字段1,字段2...) values(值1,值2...);
(2)删除数据//delete:删除 truncate:删除
在数据库操作中,"truncate table"是一种用于快速删除表中所有数据的语句。与"delete from table"不同,"truncate"操作通常更快,因为它不记录删除的每一行数据,而是直接释放表所占用的存储空间,并且重置表的计数器等属性。但需要注意的是,"truncate"操作是不可恢复的,一旦执行,表中的数据将被永久删除。
删除表中所有数据
delete from 表名;
truncate table 表名;
删除表中指定的数据
delete from 表名 where 字段 = 值;//"where"是 SQL 查询语句中的关键字,用于指定筛选条件。 "字段"代表数据库表中的一列,可以是各种数据类型,如整数、字符串、日期等。"="是比较运算符,表示相等关系。 "值"是要与指定字段进行比较的值,可以是常量、变量或表达式。
(3)修改数据(update)// 在数据库操作中,"update"语句用于修改表中的数据。
无限制条件的修改,会修改整张表
update 表名 set 字段 = 值;
有限制条件的修改,只修改特定记录
(其中 where 字段 = 值 就是条件)
update 表名 set 字段 = 值 where 字段 = 值;
四,(DQL太多了,在最后,咱先DCL哈)
DCL
(1)管理用户
①添加用户
create user '用户名'@'主机名' identified by '密码';
②删除用户
drop user '用户名'@'主机名';
(2)权限管理
①查询权限(grants:授予,同意)
show grants for '用户名'@'主机名';
②授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
③撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';