一、SQL:结构化查询语言
SQL(Structured Query Language)是高级的非过程化变成语言,专门用于查询和修改数据库的信息以及对数据库进行管理和维护的标准语言。SQL语言结构简单,功能强大,得到了众多DBMS的支持。
SQL分为四个部分:
数据定义语言(DDL):用于定义和管理数据对象,包括数据库、数据表等。如create/drop/alter等
数据操作语言(DML):操作数据库对象中包含的数据,如insert/update/delete等
数据查询语言(DQL):查询数据库对象中包含的数据,并返回数据结果,如select
数据控制语言(DCL):管理数据库对象,包括权限管理和数据更改,如grant/revoke/commit/rollback等
二、MySQL的常见操作
1、连接和关闭:mysql –h 【服务器主机地址】-u 用户名 –p 用户密码 quit和exit用于关闭连接
2、创建用户和授权:GRANT 权限 ON 数据库.数据表 TO 用户名@登陆主机 IDENTIFIED BY “密码”
1: //添加新用户,名为phper 密码dwqs,在任何主机登陆,对所有数据库拥有查询、插入、修改、删除权限
2: //创建用户前,先以root用户登陆
3: GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO phper@"%" IDENTIFIED BY "dwqs"
4:
5: //只对mydb数据库创建用户并授权
6: GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO phper@localhost IDENTIFIED BY "dwqs"
3、数据库操作
1: //创建名为test的数据库
2: create database [if not exists] test;
3: //删除test
4: drop database [if exists] test
5: //显示数据库列表
6: show databases
7: //使用test数据库
8: use test
4、数据表操作
1: //在test中创建一个表,表名是dwqs
2: create table dwqs
3: <
4: id int not null auto_increment,
5: name varchar(20) not null default '',
6: site varchar(20) not null default 'www.ido321.com,
7: email varchar(15) not null default ''
8: >
1: //查看在test数据库的中表
2: show tables
3: //查看dwqs表的结构
4: desc dwqs 或 description dwqs
5: //删除dwqs表
6: drop table dwqs
5、数据表的内容管理
1: //插入记录
2: insert [into] 表名 [(字段名1),(字段名2),...,(字段名n)] values ('值1','值2',...,'值n')
3: //更新记录
4: update 表名 set 字段名1=表达式1[,字段名2=表达式2,...,字段名n=表达式n]
5: [where 条件] [order by 字段] [limit 行数]
6: //删除记录
7: delete from 表名 [where 条件] [order by 字段] [limit 行数]
8: //查询记录
9: select [all|distinct]
10: {*|table.*|[table.]field1[AS alias1],[table.]field2[AS alias2][,...]}
11: from tablaname[,...][in externaldatabase]
12: [where 条件][group by 字段][having 条件][order by 字段][limit 行数]
说明:在查询中,distinct用于排除重复的数据,只返回一个,默认是all。 as用于给列标记别名: 字段名 as ‘别名’,在查询的结果中,字段名以别名显示.in用于子查询,也可以使用like进行模糊查询,如 like ‘%php%’—>包含php字样的,%表示0个或任意个字符;like ‘dw_s’—>形如dwqs,dwrs等,_表示一个任意字符。group by是对查询结果分组。同时可以再select中嵌入SQL表达式或者函数,如count();
6、修改表
1: //这个"修改"主要修改表的结构,如添加字段、修改字段属性等
2: alter table 表名 action
3: //action的具体内容
4: //添加新字段
5: alter table 表名 add 字段名 描述 [first|after 列名]
6: alter table dwqs add qq int[14] not null //为dwqs表添加一个qq字段,类型是整数,不为空
7: //修改字段
8: alter table 表名 change(modify) 列表 描述
9: alter table dwqs change qq qq varchar(15) default 0 //将qq字段的类型改为varchar,默认值是0
10: alter table dwqs modify qq varchar(15) default 0 //将qq字段的类型改为varchar,默认值是0
11: //修改表名
12: alter table 旧表名 rename as 新表名
说明:[first|after 列名]表名新字段的位置,first将字段插入第一列,after 列名将字段插入到指定列名之后。未指定该值,默认在末尾添加。
modify和change的区别:change除了更改类型,还会更改列名,所有qq字段出现了两次,前一个是旧列名,后一个是新列名。而modify 没有修改列名的功能,所有qq只出现了一次
--转自