MySQL学习笔记
来源:互联网 发布:linux vi 搜索关键字 编辑:程序博客网 时间:2024/06/05 21:17
用户管理:
1、新建用户:
>create user 'userName'@'localhost' identified by 'password';
2、更改密码:
>set password for userName@localhost=password('root');
3、权限管理
>show grants for userName@localhost; //查看userName@localhost用户权限
>grant select on myschool.* to userName@localhost; //给userName@localhost用户myschool数据库的所有权限
>revoke select on myschool.* from userName@localhost; //GRANT的反操作,去除权限;
数据库操作:
1、查看数据库:
>show databases;
2、创建数据库:
>create database 数据库名;
3、使用数据库:
>use 数据库名;
4、删除数据库:
>drop database 数据库名;
SQL语言包括以下4个部分。
(1)DML(数据操作语言):用来插入、修改和删除表中的数据,如:INSERT、UPDATE、DELETE语句。
(2)DDL(数据定义语言):在数据库中创建或删除数据库对象等操作。如:CREATE、DROP、ALTER等语句。
(3)DQL(数据查询语言):用来对数据库中的数据进行查询,指SELECT语句。
(4)DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,如GRANT、REVOKE等。
创建表:
CREATE TABLE [IF NOT EXISTS] 表名(
// 字段1数据类型[字段属性|约束][索引][注释],
……
字段n数据类型[字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
UNSIGNED=无符号(非负数,存储范围可以增大一个bit)
comment=注释
字段的约束及属性:非空约束
NOT NULL
字段不允许为空
默认约束
DEFAULT
赋予某字段默认值
唯一约束
UNIQUE KEY(UK)
设置字段的值是唯一的
允许为空,但只能有一个空值
主键约束
PRIMARY KEY(PK)
设置该字段为表的主键
可唯一标识该表记录
外键约束
FOREIGN KEY(FK)
用于在两表之间建立关系,
需要指定引用主表的哪一字段
自动增长
AUTO_INCREMENT
设置该列为自增字段
默认每条自增1
通常用于设置主键
查看数据库中可用的表:
>SHOW TABLES;
查看表的结构:>DESCRIBE 表名或DESC 表名;
删除表:
delete from 表名:
删除所有记录,表结构还在,写日志,可以恢复的,速度慢
drop talbe 表名:
删除表的结构和数据
truncate talbe 表名
删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
innodb和myisam的区别
事务处理
支持
不支持
数据行锁定
支持
不支持
外键约束
支持
不支持
全文索引
不支持
支持
表空间大小
较大,约2倍
较小
查看当前默认存储引擎:
>SHOWVARIABLESLIKE ‘storage_engine%’;
设置表的存储引擎:
CREATETABLE表名(
#省略代码
)ENGINE=存储引擎;
修改表:
#修改表名
ALTER TABLE<旧表名>RENAME[TO] <新表名>;
#添加字段
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
#修改字段
ALTER TABLE 表名CHANGE原字段名 新字段名 数据类型 [属性];
#删除字段
ALTER TABLE 表名 DROP 字段名;
#添加主键ALTER TABLE 表名 ADD CONSTRAINT主键名
PRIMARYKEY表名(主键字段);
#添加外键ALTER TABLE 表名ADD CONSTRAINT 外键名
FOREIGNKEY(外键字段)
REFERENCES 关联表名(关联字段);
插入数据:
INSERT INTO 表名[(字段名列表)] VALUES(值列表);
字段名是可选的,如省略则依次插入所有字段
- 【MySQL】MySQL学习笔记
- 【mysql】mysql学习笔记
- Mysql学习笔记 --- mysql数据类型
- MySQL学习笔记--MySQL编程
- JBoss-MySql学习笔记
- mysql学习笔记
- Mysql学习笔记(1)
- Mysql学习笔记
- MySQL学习笔记
- Tomcat Mysql 。。。学习笔记
- mysql学习笔记
- mysql DB(学习笔记)
- MySQL 学习笔记一
- MySQL学习笔记
- mysql学习笔记
- mysql学习笔记
- MySQL学习笔记
- MySql学习笔记
- 工作日常记录 2017-09-22
- 【python+autohotkey】优雅地在markdown中插入图片
- Linux安装mysql
- TCP/IP的原理与介绍
- [SDUT](2088)refresh的停车场 ---栈和队列
- MySQL学习笔记
- Asp.Net上传文件
- spring cloud config非对称加密不能自动解密
- php强化练习(1)——数组
- 【NOIP模板】 线段树
- 学习安装unik环境——过程一
- hadoop安装完后打开网页http://localhost:50070/ 没反应
- (2)学习SrpingBoot 之 返回Json数据
- 解决嵌套滑动的卡顿,Android嵌套滑动机制(NestedScrolling)