SQL的自我介绍:
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
今天我主要在Linux环境下,给大家介绍三种语句结构,分别是数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)。
一、首先我们转到root用户下,再通过这两行代码进入Mysql模式下,如下图:
1)service mysqld start
2)mysql -u root -p
然后我们就可以进行相应的操作了,一起进入下面的学习吧~
二、SQL语句
1、DDL 数据定义语言 (结构)
有4个主要操作,分别是create ,drop ,alter ,show。
(1)库
1.1创建库
create database [if not exists] ;
1.2删除库
drop database [if exists] test;
1.3更改库
use + 名字
1.4查询
Show databases
记住要加分号~~
安装MySQL时系统会自动创建4个数据库,其各自功能如下:
Information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息,分区信息。
cluster:存储了系统的集群信息。
mysql:存储了系统的用户权限信息。
test:系统自动创建的测试数据库,任何用户都可以使用。
(2)表
2.1创建表
create table tb_name(
字段名称 字段类型 [字段约束] [注释],
字段名称 字段类型 [字段约束] [注释],
......
);
create table stu(
id varchar(20) primary key,
name varchar(10) not null,
age int not null,
sex enum("man","woman")
);
2.2查看表
desc tb_name; //表的字段属性
show create table tb_name; //查看表的创建过程
2.3删除表
drop table tb_name;
2.4修改表结构
1.修改字段类型
alter table stu modify id varchar(20);
2.修改字段名称
alter table stu change id mid varchar(20);
3.添加字段 after first;
alter table stu add score1 float first;
4.删除字段
alter table stu drop score1;
5.修改表名
alter table stu rename student;
比如再说数据库建一张表:
create table stu(id varchar(10) primary key COMMENT “学号”,
name varchar(10) not null COMMENT “姓名”,
sex enum(“man”,”woman”) COMMENT “性别”,
age int COMMENT “年龄”);
2、 DML 数据操纵语言 (对数据的操作)
有4个操作,分别是insert ,delete ,update ,select
1)插入元素
insert into stu values('003','wangwu',19,"woman"),
('002','lisi',22,"woman");
insert into stu(mid,name,age) values("004","zhaoliu",17);
insert into stu(mid,name,age) values(" ","",17);
2)删除元素
delete from stu;
delete from stu where age = 17;
3)修改元素
update stu set name = "zhangsan";
update stu set mid = "007" where age = 17 and name = "";
4)查询
4.1 普通查询
select * from tb_name;
select * from stu;
select mid,name,age,sex from stu;
4.2 去重查询 distinct
select distinct age from stu;
4.3 排序查询 order by asc(升序,也是默认排序方式) desc(降序)
select distinct age from stu
order by age;
4.4 分组查询 group by
select id,sum(score)
from result
group by id
3、DCL 数据控制语言 (权限管理)
主要有两个功能:grant revoke
1.创建用户
create user usr_name@host;
create hu 'u3'@localhost;
2.授权权利
grant select(或者all) on hu.* to u3
3.收回权限
revoke select on on hu.* to u3
注意:权限不允许有返祖的情况出现
下次给大家介绍等值查询、连接查询和联合查询,挥挥~~