本章目录
一.数据库基本操作
mysql> show databases; //查看数据库信息
mysql> use 数据库名
mysql> show tables //查看数据库中的表信息
mysql>describe [数据库名.]表名 //显示数据表的结构
mysql>describe user //可以简写为desc user
二:SQL语言概述
SQL语言
- 是Structured Query Language的缩写,及结构化查询语言
- 是关系型数据库的标准语言
- 用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能
SQL分类
DDL:数据定义语言
DML:数据操纵语言
DQL:数据查询语言
DCL:数据控制语言
SQL操作管理命令
2.1:DDL操作命令
概述:DDL语句用于创建数据库对象,如库,表,索引等
2.1.1:DDL语法格式
创建
- 新建库和表
创建数据库:create database 数据库名
创建数据表:create table 表名(字段定义…)
删除指定的数据表:drop table [数据库名.]表名
删除指定的数据库:drop database 数据库名
例如:
mysql>create database school; '//创建数据库'
mysql> create table user( '//创建表'
-> name char(16)not null, '//名称不为空,16个字符'
-> passwd char(48) default '', '//密码默认为空,密码课48个字符'
-> primary key(name)); '//主键'
Query OK, 0 rows affected (0.01 sec)
drop table school.user; '//删除表'
drop database school; '//删除库'
2.2:DML操作命令
概述:DML语句用于对表中的数据进行管理
包括以下操作
insert:插入新数据
update:更新原有数据
delete:删除不需要的数据
2.2.1:DML语法格式
插入
- 向数据表中插入新的数据记录
insert into 表名(字段1,字段2,…)values(字段1的值,字段2的值,…)
例如:
mysql> use auth;
mysql> insert into users(user_name,user_passwd)values(‘zhangsan’,PASSWORD('123456'));
mysql> use auth;
insert into users values('lisi‘,PASSWORD('654321'));
修改
- 修改,更新数据表中的数据记录
update 表名 set 字段名 1=值1[,字段名2=值2] where条件表达式
例如:
mysql> update auth。users set user_passwd=PASSWORD(") where user_name="lisi";
mysql> update mysql.user set authentication_string=PASSWORD('1234567)where user='root'; //通过直接修改数据库的方式实现修改数据库管理员密码
删除
- 在数据表中删除指定的数据记录
delete from 表名 where条件表达式
例如:
mysql> delete from auth.users where user_name=“lisi”;
- 不带where条件的语句表示删除表中所有记录
mysql> delete from auth.users
2.3:DQL操作命令
- DQL是数据查询语句,只有SELECT
- 用于从数据表中查找符合条件的数据记录
2.3.1:DQL语法格式
SELECT字段名1,字段名2…FROM表名 //不指定条件查询
SELECT字段名1,字段名2…FROM表名 WHERE条件表达式 //指定条件查询
例如:
mysql> select name from school;
mysql> select name,address from school where id=1 or id=3;
mysql> select * from school; //*表示所有
2.4:DCL操作命令
- 设置或查看用户的权限,或者创建用户
2.4.1:DCL语法格式
设置用户权限
GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [IDENTIFIED BY ‘密码′ ]
例如:
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
'//all privileges:所有权限,%:所有终端'
查看用户权限
语法格式:
SHOW GRANTS FOR 用户名@来源地址
例如:
mysql> show grants for 'root'@'%';
撤销用户权限
语法格式:
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
例如:
revoke all privileges on *.* from 'root'@'%';