[toc]
数据库概念:
- 数据库管理系统:MySQL、Oracle、SQL server(关系型数据库)MongoDB、Redis、Memchache(非关系型数据库)
- 数据库系统:包括数据库(DB)、数据库关系系统(DBMS)、计算机操作系统(OS)、管理员(admin)
数据语言
- 数据定义语言(DDL):负责数据库、表、视图、索引等创建Create、修改Alter、查看Show、回收Drop
- 数据操纵语言(DML):负责数据表的检索Select、插入Insert、更新Update、删除Delete
- 数据控制语言(DCL):授予或者回收访问数据库的某种特权,由授权Grant和取消权限Revoke组成
- 事物控制语言(TCL):事物Tranction是指一条或者多条SQL语句组成一个执行单位,一组SQL语句要么都执行,要么都不执行,事物在数据一致性方面有着重要的作用。TCL由保存已完成的工作Commit、设置保存点Savepoint、回滚Rollback组成
MySQL下不区分大小写
数据库的操作:
- 创建数据库:
create database [database name];
数据表的定义
- 创建数据表:
use fristlab;create table users-> (-> id int not null auto_increment,-> username char(32) not null,-> passcode char(32) not null,-> primary key(id)-> );->alert table fristlab.users add unique(username);
这句话的主要作用是:创建字段,设置所有字段不能为空(null),并将id字段设置成主键,并将username字段设置成不允许重复。
- 查看数据表结构:
desc [table name];
- 添加字段email:alter table fristlab.users add email char(32);
数据表的操作
上面使用的都是DDL语句,现在使用的是DML语句
- 增加信息
insert into users(username,passcode) values(\'admin\',\'admin123\');
- 查询信息:
select * from users;
- 对数据进行更新:
update users set email=\'admin@sys.com\' where id=1;
- 记录的删除:如果存在外键约束,那么就会导致删除异常,为了防止不安全的删除,可以转换为设置布尔 约束:
alter table users add status boolean default true;
- 用户的创建:为避免出现安全问题,需要创建多个账号以限制权限
create user \'fristuser\'@\'localhost\' identified by \'666\';use mysql;select user,host from user;
创建用户后,现在授予权限:
grant all privileges on fristlab.* to \'fristuser\'@\'localhost\';show grants for \'fristuser\'@\'localhost\';