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(20) 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(20),add qq int;

9.添加列为第一列

mysql> alter table stu add classid varchar(20) first;

10.添加列为指定位置

mysql> alter table stu add phone int after age;

11.删除指定列

mysql> alter table stu modify sid varchar(20);

12.修改列名,以及约束条件

mysql> alter table stu change phone telphone char(20);

8.授权用户

1.授权root@'10.0.0.1'用户所有权限(并非超级管理员)

mysql> grant all on *.* to root@'10.0.0.1' identified by '123';

2.授权一个用户为超级管理员

mysql> grant all on *.* to root@'10.0.0.1' identified by '123' 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',1,NOW(),'zhangsan',20,'m',NOW(),110,123456);

2.插入多条数据

mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values('linux01',1,NOW(),'zhangsan',20,'m',NOW(),110,123456),
('linux02',2,NOW(),'zhangsi',21,'f',NOW(),111,1234567);

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=1;

11.删除数据

1.删除一张表的所有数据

mysql> delete from student;

2.删除一张表指定区域的数据

mysql> delete from student where sid=3;

3.删除表

mysql> truncate table student;

4.伪删除,就是内容还在,但可以用一些手段看不到,真实工作环境使用

mysql> alter table student add status enum(1,0) default 1;

mysql> update student set status='0' where sid=1;

mysql> select * from student where status=1;

12.select用法

1.查询student表中的列name

mysql> select name from student;

2.限制查询行数为2

mysql> select name from student limit 2;

3.去重查询

mysql> select district(name) from student ;

4.查询所得到信息的数目

mysql> select count(name) from student;

5.查询指定信息(查二班的同学名字)

mysql> select name from student where class=2;

6.多条件查询(查二班的长的丑的人名字)

mysql> select name from student where class=2 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>1;

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<>2;

12.查看表中数据行数

select count(*) from city;

13.查看去重数据行数

select count(distinct name) from city;

MySQL学习【SQL语句上】的更多相关文章

  1. mysql 常用 sql 语句 - 快速查询

    Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互         1.1.1 mysql 连接             mysql.exe -hPup    ...

  2. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  3. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  4. MySQL数据库SQL语句基本操作

    一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...

  5. mysql优化sql语句

    mysql优化sql语句   常见误区   www.2cto.com   误区1:   count(1)和count(primary_key) 优于 count(*)   很多人为了统计记录条数,就使 ...

  6. mysql的sql语句优化方法面试题总结

    mysql的sql语句优化方法面试题总结 不要写一些没有意义的查询,如需要生成一个空表结构: select col1,col2 into #t from t where 1=0 这类代码不会返回任何结 ...

  7. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  8. Mysql常用sql语句(17)- left/right join 外连接

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 外连接分为两种:left join.right ...

  9. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  10. MySQL 中 SQL语句大全(详细)

    sql语句总结 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操 ...

随机推荐

  1. lua 中的上n级模块路径函数分享

    --- 得到 lua 模块路径的上 n 级,返回的的字符串结尾有个 "." 字符 -- @usage getUpFloder("math.base.core", ...

  2. ArrayList 与 List 关系与代码示例 - Java

    关系 List 是 Java Interface, ArrayList 是 Java Class,它们都属于 java.util 包. Java List 是有序的集合(ordered collect ...

  3. 微软发布SQL Server on Linux

    本文参考并翻译自:微软云计算与企业执行副总裁Scott Guthrie的博客. 过去的一年,不管是对于微软的数据业务,还是整个行业,都是令人惊喜的一年.在周四刚于纽约举行的Data Driven活动中 ...

  4. C++数组怎么复制

    C++数组怎么复制: #include <string.h>main(){int a[10]={34,56,4,10,77,51,93,30,5,52};int b[10];memcpy( ...

  5. 捕获Task.WhenALl返回的Task的Exception

    如果有一个任务抛出异常,则Task.WhenAll 会出错,并把这个异常放在返回的Task 中.如果多个任务抛出异常,则这些异常都会放在返回的Task 中.但是,如果这个Task 在被await 调用 ...

  6. git error:【fatal: unable to access 'https://github.com/userId/prjName.git/': err or setting certificate verify locations:】

    $ git pull origin master fatal: unable to access 'https://github.com/userId/prjName.git/': err or se ...

  7. js数组 标签: javascript 2016-08-03 14:15 131人阅读 评论(0) 收藏

    数组排序 reverse()方法 reverse()方法会反转数组的顺序. sort()方法 默认情况下sort()方法按升序排列数组项.为实现排序sort()方法调用每项的toString(),然后 ...

  8. linux:相关命令以及笔记

    首先,在linux 或者 unix里没有任何的反馈就叫成功,例如: (1)命令执行成功的样子:返回了登录用户信息 (2)命令执行失败的样子:没有返回任何东西 1.按键出现状况 解决:可以使用ctrl+ ...

  9. Jenkins在deploy maven artifact时报Peer not authenticated.

    这是一起由Nexus证书导入错误造成的Jenkins运行异常. 最近,同事修改了Nexus服务器的host name,结果导致Jenkins里的任务全都执行不了了.虽然job的配置都已经更新指向新的N ...

  10. (名词 形容词 动词 副词)重读&(冠词 介词 连词 代词 辅助词(Be))弱读

    二,一些发音规则 除了上面的练习之外,这里还有几个注意点需要我们有足够的认识,那就是英语有重读.弱读.连读.爆破.语感(节奏和断句)等(其实当你跟读并背诵新概念之后,这一切都是神马,你不知觉地也会发现 ...