SQL复习笔记一(mysql)
2016-06-25 07:24
309 查看
SQL (structured query language)
分别有如下几种分类
DDL,DML,DCL,DQL共同组成数据库的完整语言。
DDL Definition :数据库模式定义语言。关键字:CREATE,TRUNCATE ,DROP,ALTER
DML Manipulation :数据操纵语言。关键字:INSERT、UPDATE、DELETE
DCL Control :数据库控制语言 。关键字:grant、revoke 等
DQL Query : 数据库查询语言,。关键字为SELECT
进入正题~
首先登陆 mysql -u用户名 -p密码@ip地址
DDL
- 查看数据库 show databases;
- 切换到数据库 use 数据库名
- 查看表 showtables;
- 查看 数据库或者表结构用desc 数据库名/表名
- 创建一个数据库 create database 数据库名
- 删除一个数据库或者表 drop 数据库名/表名
- 修改数据库编码 alter database 数据库名 character set utf8
数据类型
double 浮点型 double(3,2) 3位小数点后两位如1.22
decimal 浮点型 防精度缺失
char 固长字符串类型 最长255
varchar 变长字符串类型 最长65535
char 和 varchar 相比:
varchar 要花费一个字节去存储长度所以char要比varchar更省内存
还有date time timestamp 不一一列举
DML
这里写一张表作为后面的通用表
create table dept
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
向表中插入数据:
insert into 表名 (字段名) values (要插入的值)
列入
insert into dept (deptno,dname,loc) values (20,”销售部”,“上海”)
其中字段名不写的话就默认按照创建表时的字段顺序把后面的值填入,不写全的话就没写的默认为null 注意如果加了非空约束 就必须有值啦
修改数据:
update 表名 set 列明 = 值,set 列名=值,…….. where(条件)
列如:
update dept set dname=“财务部”,loc=“北京” where deptno=20
删除数据
delete from dept where deptno=20; 这样把刚才那一行删除啦
删除所有数据 delete from dept;
当然还有个truncate 下面po上差别~
1.DELETE
・DML语言
・可以回退
・可以有条件的删除
DELETE FROM 表名
WHERE 条件
2.TRUNCATE TABLE
・DDL语言
・无法回退
・默认所有的表内容都删除
・删除速度比delete快。
DCL(理解)
创建用户: create user 用户名@ip地址 identified by ‘密码’ 指定ip
create user 用户名@’%’ identified by ‘密码’ 任意ip
给用户授权:关键字 grant
撤销权限:关键字 revoke
查看权限:show grants for 用户名@IP地址
删除用户: drop user 用户名@ip地址
简单的DQL 单表的查询就不写下来了
顺序写一下
顺序:
1.select (查询)
2.where (筛选)
3.group by (分组)
4.having (对分组进行过滤)
5.order by (排序)
补充:
distinct 不重复的
concat mysql 用于拼接字符串 oracle 中是 ||
limit 用法 select * from dept limit 0,5 表示查询前五行
其他的在sql复习笔记二上在写~
分别有如下几种分类
DDL,DML,DCL,DQL共同组成数据库的完整语言。
DDL Definition :数据库模式定义语言。关键字:CREATE,TRUNCATE ,DROP,ALTER
DML Manipulation :数据操纵语言。关键字:INSERT、UPDATE、DELETE
DCL Control :数据库控制语言 。关键字:grant、revoke 等
DQL Query : 数据库查询语言,。关键字为SELECT
进入正题~
首先登陆 mysql -u用户名 -p密码@ip地址
DDL
- 查看数据库 show databases;
- 切换到数据库 use 数据库名
- 查看表 showtables;
- 查看 数据库或者表结构用desc 数据库名/表名
- 创建一个数据库 create database 数据库名
- 删除一个数据库或者表 drop 数据库名/表名
- 修改数据库编码 alter database 数据库名 character set utf8
数据类型
double 浮点型 double(3,2) 3位小数点后两位如1.22
decimal 浮点型 防精度缺失
char 固长字符串类型 最长255
varchar 变长字符串类型 最长65535
char 和 varchar 相比:
varchar 要花费一个字节去存储长度所以char要比varchar更省内存
还有date time timestamp 不一一列举
创建一个表 create table 表名 { 字段名 字段类型 后面跟约束 字段名 字段类型 后面跟约束 字段名 字段类型 后面跟约束 } 修改表 修改列类型: alter table 表名 modify 列名 列类型 修改列名: alter table 表名 change 原列名 新列名 列类型 删除列: alter table 表名 drop 列名 修改表名称: alter table 表名 rename to 新表名
DML
这里写一张表作为后面的通用表
create table dept
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
向表中插入数据:
insert into 表名 (字段名) values (要插入的值)
列入
insert into dept (deptno,dname,loc) values (20,”销售部”,“上海”)
其中字段名不写的话就默认按照创建表时的字段顺序把后面的值填入,不写全的话就没写的默认为null 注意如果加了非空约束 就必须有值啦
修改数据:
update 表名 set 列明 = 值,set 列名=值,…….. where(条件)
列如:
update dept set dname=“财务部”,loc=“北京” where deptno=20
删除数据
delete from dept where deptno=20; 这样把刚才那一行删除啦
删除所有数据 delete from dept;
当然还有个truncate 下面po上差别~
1.DELETE
・DML语言
・可以回退
・可以有条件的删除
DELETE FROM 表名
WHERE 条件
2.TRUNCATE TABLE
・DDL语言
・无法回退
・默认所有的表内容都删除
・删除速度比delete快。
DCL(理解)
创建用户: create user 用户名@ip地址 identified by ‘密码’ 指定ip
create user 用户名@’%’ identified by ‘密码’ 任意ip
给用户授权:关键字 grant
撤销权限:关键字 revoke
查看权限:show grants for 用户名@IP地址
删除用户: drop user 用户名@ip地址
简单的DQL 单表的查询就不写下来了
顺序写一下
顺序:
1.select (查询)
2.where (筛选)
3.group by (分组)
4.having (对分组进行过滤)
5.order by (排序)
补充:
distinct 不重复的
concat mysql 用于拼接字符串 oracle 中是 ||
limit 用法 select * from dept limit 0,5 表示查询前五行
其他的在sql复习笔记二上在写~
相关文章推荐
- mac下安装Mysql5.7.13遇到默认密码的大坑
- solaris10 安装mysql并修改data存放位置
- mysql简单实现查询结果添加序列号的方法
- MySQL中Union子句不支持order by的解决方法
- MySQL关于字符串中数字排序的问题分析
- mysql实现合并同一ID对应多条数据的方法
- Ubuntu 14.04安装mysql
- Mysq中关于数据类型的注意事项
- MySQL 一致性读 深入研究 digdeep博客学习
- mysql-触发器
- MySQL(一)
- Ubuntu安装mysql5.7
- Mysql数据库调优和性能优化的21条最佳实践
- ubuntu下MySQL中文乱码(新版本Mysql修改方法)
- MySQL 多列分区详解
- mysql分页和排序练习
- mysql时间函数练习
- mysql流程函数练习
- mysql字符串函数练习
- mysql 使用技巧 不断更新