三.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(20),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(20) 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(20),add qq int;#指定位置进行添加列(表首)mysql> alter table stu add classid varchar(20) first;#指定位置进行添加列(指定列)mysql> alter table stu add phone int after age;#删除指定的列及定义mysql> alter table stu drop qq;#修改列及定义(列属性)mysql> alter table stu modify sid varchar(20);#修改列及定义(列名及属性)mysql> alter table stu change phone telphone char(20);

三.DCL(数据控制语言)

1.grant

#授权root@10.0.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,1,NOW(),zhangsan,20,m,NOW(),110,123456);#规范用法,插入数据mysql> insert into stu(classid,birth.sname,sage,sgender,comtime,telnum,qq) values(linux01,1,NOW(),zhangsan,20,m,NOW(),110,123456);#插入多条数据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);

2.update

#不规范mysql> update student set sgender=f;#规范update修改mysql> update student set sgender=f where sid=1;#如果非要全表修改mysql> update student set sgender=f where 1=1;

3.delete

#不规范mysql> delete from student;#规范删除(危险)mysql> delete from student where sid=3;#DDL删除表mysql> truncate table student;

4.伪删除

1)额外添加一个状态列mysql> alter table student add status enum(1,0) default 1;2)使用updatemysql> update student set status=0 where sid=1;3)应用查询存在的数据mysql> select * from student where status=1;

五.DQL(数据查询语言)

1.select:基础用法

#常用用法mysql> select countrycode,district from city;#查询单列mysql> select countrycode from city;#行级查询mysql> select countrycode,district from city limit 2;mysql> select id,countrycode,district from city limit 2,2;#条件查询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 10;#排序查询(顺序)mysql> select id,name,population,countrycode from city order by countrycode limit 10;#排序查询(倒叙)mysql> select id,name,population,countrycode from city order by countrycode desc limit 10;#范围查询(>,<,>=,<=,<>)mysql> select * from city where population>=1410000;#范围查询OR语句mysql> select * from city where countrycode=CHN or countrycode=USA;#范围查询IN语句mysql> select * from city where countrycode in (CHN,USA);

 

相关文章