三.SQL语句
一.mysqladmin客户端命令
1.查看MySQL存活状态
[root@db01 ~]# mysqladmin -uroot -p123 ping
2.查看MySQL状态信息
[root@db01 ~]# mysqladmin -uroot -p123 status
3.关闭MySQL进程
[root@db01 ~]# mysqladmin -uroot -p123 shutdown
4.查看MySQL参数
[root@db01 ~]# mysqladmin -uroot -p123 variables
5.删除数据库
[root@db01 ~]# mysqladmin -uroot -p123 drop DATABASE
6.创建数据库
[root@db01 ~]# mysqladmin -uroot -p123 create DATABASE
7.重载授权表
[root@db01 ~]# mysqladmin -uroot -p123 reload
8.刷新日志
[root@db01 ~]# mysqladmin -uroot -p123 flush-log
9.刷新缓存主机
[root@db01 ~]# mysqladmin -uroot -p123 reload
10.修改口令
[root@db01 ~]# mysqladmin -uroot -p123 password
二.DDL(库,表的操作)
1.创建oldboy数据库
mysql> create database oldboy;
2.创建DOLBOY数据库
mysql> create database OLDBOY;
3.查看数据库
mysql> show databases;
4.查看oldboy的创建语句(DQL)
mysql> show create database oldboy;
5.查看创建数据库语句帮助
mysql> help create database
6.创建oldboy数据添加属性
mysql> create database testa charset utf8;
7.删除oldboy数据库
mysql> drop database oldboy;
8.修改oldboy数据库属性
mysql> alter database oldboy charset gbk;
9.查看oldboy的创建语句(DQL)
mysql> show create database oldboy;
10.创建表
mysql> create table student(
sid INT,
sname VARCHAR(),
sage TINYINT,
sgender ENUM('m','f'),
cometime DATETIME);
11.数据类型
int: 整数 -231 ~ 231 -1
varchar:字符类型 (变长)
char: 字符类型 (定长)
tinyint: 整数 -128 ~ 128
enum: 枚举类型
datetime: 时间类型 年月日时分秒
12.创建表加其他属性
mysql> create table student(
sid INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘学号’,
sname VARCHAR() NOT NULL COMMENT ‘学生姓名’,
sage TINYINT UNSIGNED COMMENT ‘学生年龄’,
sgender ENUM('m','f') NOT NULL DEFAULT ‘m’ COMMENT ‘学生性别’,
cometime DATETIME NOT NULL COMMENT ‘入学时间’)chatset utf8 engine innodb;
#查看建表语句
mysql> show create table student;
#查看表
mysql> show tables;
#查看表中列的定义信息
mysql> desc student;
13.数据类型
not null: 非空
primary key: 主键(唯一且非空的)
auto_increment: 自增(此列必须是:primary key或者unique key)
unique key: 单独的唯一的
default: 默认值
unsigned: 非负数
comment: 注释
14.删除表
mysql> drop table student;
15.修改表
#修改表名
mysql> alter table student rename stu;
#添加列和列定义
mysql> alter table stu add age int;
#添加多个列
mysql> alter table stu add test varchar(),add qq int;
#指定位置进行添加列(表首)
mysql> alter table stu add classid varchar() first;
#指定位置进行添加列(指定列)
mysql> alter table stu add phone int after age;
#删除指定的列及定义
mysql> alter table stu drop qq;
#修改列及定义(列属性)
mysql> alter table stu modify sid varchar();
#修改列及定义(列名及属性)
mysql> alter table stu change phone telphone char();
三.DCL(数据控制语言)
1.grant
#授权root@10.0..51用户所有权限(非炒鸡管理员)
mysql> grant all on *.* to root@'10.0.0.51' identified by 'oldboy123';
#怎么去授权一个炒鸡管理员呢?
mysql> grant all on *.* to root@'10.0.0.51' identified by 'oldboy123' with grant option;
#其他参数(扩展)
max_queries_per_hour:一个用户每小时可发出的查询数量
max_updates_per_hour:一个用户每小时可发出的更新数量
max_connetions_per_hour:一个用户每小时可连接到服务器的次数
max_user_connetions:允许同时连接数量
2.revoke
#收回select权限
mysql> revoke select on *.* from root@'10.0.0.51';
#查看权限
mysql> show grants for root@'10.0.0.51';
四.DML(数据操作语言)
1.insert
#基础用法,插入数据
mysql> insert into stu values('linux01',,NOW(),'zhangsan',,'m',NOW(),,);
#规范用法,插入数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values('linux01',,NOW(),'zhangsan',,'m',NOW(),,);
#插入多条数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values('linux01',,NOW(),'zhangsan',,'m',NOW(),,),
('linux02',,NOW(),'zhangsi',,'f',NOW(),,);
2.update
#不规范
mysql> update student set sgender='f';
#规范update修改
mysql> update student set sgender='f' where sid=;
#如果非要全表修改
mysql> update student set sgender='f' where =;
3.delete
#不规范
mysql> delete from student;
#规范删除(危险)
mysql> delete from student where sid=;
#DDL删除表
mysql> truncate table student;
4.伪删除
)额外添加一个状态列 mysql> alter table student add status enum(,) default ; )使用update mysql> update student set status='' where sid=; )应用查询存在的数据 mysql> select * from student where status=;
五.DQL(数据查询语言)
1.select:基础用法
#常用用法
mysql> select countrycode,district from city;
#查询单列
mysql> select countrycode from city;
#行级查询
mysql> select countrycode,district from city limit ;
mysql> select id,countrycode,district from city limit ,;
#条件查询
mysql> select name,population from city where countrycode='CHN';
#多条件查询
mysql> select name,population from city where countrycode='CHN' and district='heilongjiang';
#模糊查询
mysql> select name,population,countrycode from city where countrycode like '%H%' limit ;
#排序查询(顺序)
mysql> select id,name,population,countrycode from city order by countrycode limit ;
#排序查询(倒叙)
mysql> select id,name,population,countrycode from city order by countrycode desc limit ;
#范围查询(>,<,>=,<=,<>)
mysql> select * from city where population>=;
#范围查询OR语句
mysql> select * from city where countrycode='CHN' or countrycode='USA';
#范围查询IN语句
mysql> select * from city where countrycode in ('CHN','USA');
三.SQL语句的更多相关文章
- 三.SQL语句实例
1.查询A表中存在而B表中不存在的数据 1.1 描述:表A中有一tel字段,表B中有一tel字段,两个字段存储的内容部分相同,现要查询A表tel字段中有而B表tel字段中没有的数据 1.2 有三个se ...
- oracle(三) SQL语句
1.聚集函数遇到空值时,除count(*)外,都会跳过空值. 2.group by 细化聚集函数的作用对象 3.group by有个原则,就是select后面出面的列,除聚集函数外必须出现在group ...
- 点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)
下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...
- 三种执行SQL语句的的JAVA代码
问题描述: 连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法. 1.简单的Statement执行SQL语句.有SQL注入,一般不使用. public static voi ...
- MyBatis学习(三)、动态SQL语句
三.动态SQL语句 有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Orac ...
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...
- MySQL数据库学习笔记(三)----基本的SQL语句
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- mysql优化(三)–explain分析sql语句执行效率
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
- MyBatis学习 之 三、动态SQL语句
目录(?)[-] 三动态SQL语句 selectKey 标签 if标签 if where 的条件判断 if set 的更新语句 if trim代替whereset标签 trim代替set choose ...
随机推荐
- oracle_dataGuard_11G
[李红]--切记_从库只安装实例_不需要 dbca 创建数据库 但是 netca 创建监听看个人喜欢,我反正是创建了.[DataGuard_主数据库的参数配置]1.启用 force logging 功 ...
- Ionic3多个自定义过滤器--管道(pipe)
往往我们创建自定义管道一般都不止只会创建一个自定义管道,和自定义组件类似,创建多个方式如下. 一.命令行生成管道 ionic g pipe formateDate ionic g pipemoneyD ...
- 2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...
- Push rejected: Push to origin/master was rejected
1.错误日志 : Maven projects need to be imported: Import Changes Enable Auto-Import : files committed: 初始 ...
- H3C设备系列问题
一.h3c交换器和交换机的Telnet或SSH登录用户名和密码忘记了,怎么办? 处理步骤: 1.使用Console线连接交换机或路由器的Console口,确保笔记本已连上设备,在设备启动过程中根据提示 ...
- PHP生成当前月份包括最近12个月内的月份
直接上代码: $time=array(); $currentTime = time(); $cyear = floor(date("Y",$currentTime)); $cMon ...
- readlink 获取进程的绝对路径
readlink可以获取exe所在的路径(直接和进程关联);无法获得so的路径,so路径可以用dladdr,参考另一篇文章linux系统中有个符号链接:/proc/self/exe 它代表当前程序,所 ...
- ubuntu 16.04 国内仓库地址
deb http://mirrors.aliyun.com/ubuntu xenial maindeb http://mirrors.aliyun.com/ubuntu xenial universe ...
- 用python脚本获取运行环境中的module 列表
由于脚本运行在远程环境,总报错说一些module没有.所以决定彻底对环境进行一次摸底. 于是,用如下代码即可实现: #!/usr/bin/env python import sys try: #pri ...
- LeetCode-7-反转整数-c# 版本
c# 版本 // 给定一个 32 位有符号整数,将整数中的数字进行反转. public class Solution { public int Reverse(int x) { / // 边界判断 / ...