mysql 登陆
mysql -u 用户名 -p 回车 输入密码 ru: mysql - u root -p 123456
MySQL是最常用的数据库管理语言--结构化查询语言(SQL),常用的大致分为四种:DDL 数据定义语言 , DML 数据操作语言 , DQL 数据查询语言, DCL 数据控制语言.
DDL
create 创建 ,即我们可以通过create 来创建数据库,表,视图,用户等。
创建数据库: create database 数据库名;
创建表:create table 表名(列名 列数据类型 属性(就是主外键,和非空之类的) 注释,....); 没列用逗号隔开,最后一列不需要加逗号 列如:
create table student(sid int frimary key auto_increment,
sname varchar(20) not null comment '学生姓名' );
创建用户: create user 用户名 Identified by 密码;
Create view 视图名,Create procedure 存储过程 ,Create function 函数名..等基本都是这样的格式。
drop 删除
drop table 表名; 删除表
Truncate 表面;清空表数据 但不会删除表结构
alert 修改更新
Alter table 表名rename as新表名; ----修改表名
Alter table 表名add新增列名 数据类型 属性;-------修改表结构添加
//修改表属字段
Alter table 表名modify字段名 数据类型 属性;
Alter table 表面change旧字段 新字段 类型 属性;
Alter table 表明drop字段名;删除子段
删除外键
Alter table 表名drop foreign key外键名;
添加外键
Alter table 表名add constraint外键名foreign key(列名) references主表(关联键);
DML
添加数据
insert into 表名(列名,列名2,列名3,) values(值1,值2,值3,); 如: insert into student(sid,sname,age) values(1,'tom',13);
或插入多条:insert into student(sid,sname,age) values(1,'tom',13), (2'jack',24); 值之间用逗号隔开
修改
update 表明 set 列名=新值 where=条件 如 update student set sname='tt' where sid=1;
删除
delete from 表名 where 条件 如 delete from student where sid=1;
DQL
Select * | 指定列名 | distinct(查询结果去除重复)from表名
Where 条件
Group by 分组
Having 筛选
Order by desc esc 排序
Limit 0,0; 从几行到几行
DCL
Transaction 事务
特性:acid 四个特性
a:原子性 事务是最小的单位
c:一致性 事务执行前和执行后, 数据要保持一致
i:隔离性同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰
d:持久性 事务一旦提交,永久生效
操作过程:
set autocommit=false; 关闭自动提交
start transaction; 开始事务
执行dml 语句 (注意:不能使用ddl语句,ddl语句会使事务自动提交,破坏完整性)
rollback 回滚 即如果dml语句出错 可用回滚使数据还原到原来状态
commit; 提交事务
set autocommit=true; 重新打开自动提交