MySQL学习【第五篇SQL语句上】
一.mysql命令
1.连接服务端命令
1.mysql -uroot -p123 -h127.0.0.1
2.mysql -uroot -p123 -S /tmp/mysql.sock
3.mysql -uroot -p123 -hlocalhost
4.mysql -uroot -p123
2.mysql登陆后的一些命令
1.\h或者help 查看帮助
2.\G 格式化查看数据(以key:value形式)
3.\T 或 tee 记录日志
4.\c 结束命令
5.\s或者status 查看状态信息
6.\. 或者source 导入sql数据
7.\u 或use 使用数据库
8.\q或exit或quit 退出
3.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
4.sql语句创建库
1.创建didi数据库
mysql> create database didi;
2.查看数据库
mysql> show databases;
3.查看创建数据库语句
mysql> show create database didi;
4.创建数据库添加字符集
mysql> create database test charset utf8;
5.删除数据库
mysql> drop database didi;
6.修改数据库属性
mysql> alter database test charset gbk;
7.进入数据库
mysql> use didi;
8.查看当前所在数据库
mysql> select database();
5.创表必须知道的数据类型
1.int 整数 -2^31~2^31 -1
2.varchar 字符类型(变长)
3.char 字符类型(定长)
4.tinyint 整数 -128~128 (取值范围)
5.enum 枚举类型,只能选择枚举的一种类型,例如enum('m','f')
6.datatime 时间类型
6.创表所需的数据属性
1.not null 非空
2.primary key 主键(唯一且非空)
3.unique key 唯一键(唯一可非空)
4.auto_increment 自增(必须是主键或唯一键)
5.unsigned 非负
6.default 默认
7.comment 注释
7.创建表
1.创建一个名字叫student的表,表中有列名为(sid,sname,sage,sgender,cometime) ,其中sid为int类型,非空,设为主键,并且自增,注释为学号;sname为varchar类型为20位(一个中文占3位,和字符集有关),非空,注释为学生姓名;
sage为tinyint类型 ,非负数(因此取值范围为【0-256】),注释为学生年龄;sgender为枚举类型,非空,默认为男(m),注释为学生性别;cometime为datatime类型,默认为设置时间,注释为入学时间,字符集设为utf8,引擎为innodb
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 default NOW() COMMENT ‘入学时间’)chatset utf8 engine innodb;
2.查看建表语句
mysql> show create table student;
3.查看当前数据库下有什么表
mysql> show tables;
4.查看表中列的定义信息
mysql> desc student;
5.删除表
mysql> drop table student;
6.修改表名
mysql> alter table student rename stu;
7.添加列和列定义
mysql> alter table stu add age int;
8.添加多个列
mysql> alter table stu add test varchar(),add qq int;
9.添加列为第一列
mysql> alter table stu add classid varchar() first;
10.添加列为指定位置
mysql> alter table stu add phone int after age;
11.删除指定列
mysql> alter table stu modify sid varchar();
12.修改列名,以及约束条件
mysql> alter table stu change phone telphone char();
8.授权用户
1.授权root@'10.0.0.1'用户所有权限(并非超级管理员)
mysql> grant all on *.* to root@'10.0.0.1' identified by '';
2.授权一个用户为超级管理员
mysql> grant all on *.* to root@'10.0.0.1' identified by '' with grant option;
其他一些能在后面带的参数
max_queries_per_hour:一个用户每小时可发出的查询数量
max_updates_per_hour:一个用户每小时可发出的更新数量
max_connetions_per_hour:一个用户每小时可连接到服务器的次数
max_user_connetions:允许同时连接数量
3.收回一个用户select权限
mysql> revoke select on *.* from root@'10.0.0.1';
4.查看某个用户的权限
mysql> show grants for root@'10.0.0.1';
9.插入数据
1.插入单条数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values('linux01',,NOW(),'zhangsan',,'m',NOW(),,);
2.插入多条数据
mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values('linux01',,NOW(),'zhangsan',,'m',NOW(),,),
('linux02',,NOW(),'zhangsi',,'f',NOW(),,);
10.更新数据
1.更新一张表某个列的所有数据
mysql> update student set sgender='f'; 也可以 mysql> update student set sgender='f' where 1=1;
2.更新一张表某个列某行的数据(添加条件)
mysql> update student set sgender='f' where sid=;
11.删除数据
1.删除一张表的所有数据
mysql> delete from student;
2.删除一张表指定区域的数据
mysql> delete from student where sid=;
3.删除表
mysql> truncate table student;
4.伪删除,就是内容还在,但可以用一些手段看不到,真实工作环境使用
mysql> alter table student add status enum(,) default ; mysql> update student set status='' where sid=; mysql> select * from student where status=;
12.select用法
1.查询student表中的列name
mysql> select name from student;
2.限制查询行数为2
mysql> select name from student limit ;
3.去重查询
mysql> select district(name) from student ;
4.查询所得到信息的数目
mysql> select count(name) from student;
5.查询指定信息(查二班的同学名字)
mysql> select name from student where class=;
6.多条件查询(查二班的长的丑的人名字)
mysql> select name from student where class= and face='ugly';
7.模糊查询
mysql> select nam from student where name like '%H%' ;
8.顺序查询
mysql> select name from student order by hight asc;
9.倒叙查询
mysql> select name from student order by hight desc;
10.范围查询
mysql> select * from student where class>;
11.范围or,in,不等于(<>)
mysql> select * from student where name='CHN' or face='ugly'; 就当有个叫两个名字的人吧
mysql> select * from student where name in ('张三','李四'); 不在二班的人
mysql> select * from student where class<>;
12.查看表中数据行数
select count(*) from city;
13.查看去重数据行数
select count(distinct name) from city;
MySQL学习【第五篇SQL语句上】的更多相关文章
- MySQL优化(五) SQL 语句的优化 索引、explain
一.索引 1.分类 (1)主键索引:当一张表的某个字段设置为主键时,该字段就是主键索引: (2)唯一索引:索引列中的值必须是唯一的,但是允许为空值(可以存在多个null): (3)普通索引:基本索引类 ...
- MySQL学习(二)SQL语句的总结
1.连接查询和关联查询连接查询:把两个表中相同的元素的连接就可以查询,使用:where里,select table1.*,table2.* from table1,table2 where table ...
- Python 学习 第五篇:语句和语法
Python程序是语句构成的,语句包含表达式,表达式嵌套在语句中,包含变量和常量,用于处理对象.Python的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...
- mysql学习(九)sql语句
SQL种类: DDL:数据定义语言 DML:数据操作语言 DQL:数据查询语言 DCL:数据控制语言 DDL: show databases; //查询数据库 create database if n ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存
目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...
- MyBatis学习 之 二、SQL语句映射文件(1)resultMap
目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实 ...
- MySQL的EXPLAIN命令用于SQL语句的查询执行计划
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP).这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的.这条命令并没有提供任何调整建议,但它能够提供重要的信息 ...
- MySQL高级(进阶)SQL语句
MySQL高级(进阶)SQL语句 目录 MySQL高级(进阶)SQL语句 一.实例准备--制表 1. 表1(商店区域表) 2. 表2(商店销售表) 3. 表3(城市表) 4. 表4(total_sal ...
随机推荐
- apm飞控飞行模式详解
1.稳定模式Stabilize稳定模式是使用得最多的飞行模式,也是最基本的飞行模式,起飞和降落都应该使用此模式.此模式下,飞控会让飞行器保持稳定,是初学者进行一般飞行的首选,也是FPV第一视角飞行的最 ...
- QT5.9 新特性与版本回顾
原文链接: http://blog.qt.io/blog/2017/05/31/qt-5-9-released 翻译内容如下,采用的是第三方某在线翻译软件,所以有些地方不是太精确,纵然大吉做了一定的调 ...
- GetModuleFileName和获取应用程序当前目录
原文:http://www.cnblogs.com/xuemaxiongfeng/articles/2465544.html API函数GetModuleFileName():获得应用程序目录相对路径 ...
- 路飞学城知识点4之Django contenttypes 应用
Django contenttypes 应用 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. 每当我们创建 ...
- oracle decode函数和 sign函数
流程控制函数 DECODE decode()函数简介: 主要作用: 将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1, ...
- C# 屏蔽windows功能键
对于触屏的软件来说,我们调出系统键盘以后,我们不想用户回到桌面,这时候我们就需要屏蔽windows键, #region 屏蔽WIN功能键 public delegate int HookProc(in ...
- [mutt] Configure mutt to receive email via IMAP and send via SMTP
“All mail clients suck. This one [mutt] just sucks less.” Michael Elkins, ca. 1995 Actually I have t ...
- Python学习---抽屉框架分析[小评论分析]0315
注: 此处的小评论涉及数据库操作 初级小评论代码 settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS = (o ...
- 探寻IIS最大并发数
原文链接,http://www.cnblogs.com/birdshover/archive/2009/08/16/1547025.html 原文评论值得一看! 测试系统Window 2003 S ...
- C#网络编程(一)基础篇
简介: C#网络编程API包含在System.Net和System.Net.Sockets命名空间下,大部分网络操作都可以在其中找到相应的类来实现:包括Socket的创建和连接,网络流收发方法的封装, ...