SQL语言对MySQL的操作总结

来源:互联网 发布:面对数据缺失,可以采用 编辑:程序博客网 时间:2024/05/17 07:41

才开始学习数据库,这篇博客纯粹为SQL基本总结,较为基础,其中一些命令并没有详细介绍,仅仅方便查阅补充。

一、基本概念

MySQL:关系型数据库管理系统(RDBMS),由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。它以体积小、速度快、开放源码等特点与Oracle、SQL Server、DB2和Sybase共同成为市场上五大主流关系数据库。
SQL:结构化查询语言(Structured Query Language),广泛用于关系型数据库的存取、查询等操作。

二、MySQL基本命令

开启服务器:net start MySQL(请使用管理员权限)
关闭服务器:net stop MySQL
连接MySQL:mysql -h IP -u 用户名 -p 密码 自己使用用户名为root,IP默认为localhost,即本地主机。
退出:quit

关于乱码问题

一般我们在windows下的命令行编码为gbk,MySQL在经过查看后发现对于客户端发过来的数据采用utf8解码,给客户端发送的数据也是utf8,MySQl的编码可以通过命令:

show variables like 'char%'

查看。由于编码的不同我们有两种解决方法。
1. 修改客户端编码,查看
2. 修改MySQL默认编码
在mysql安装目录下,修改my.ini配置文件。改为:
default-character-set=gbk

三、SQL基本操作

主要为下面五方面。

(1)数据类型

一下图片截图自w3school
Date类型
Text类型
Number类型

(2)数据定义

创建数据库:CREATE database name;
删除数据库:DROP database name
创建表:
没有添加约束条件,和主键,仅为简单测试。

CREATE TABLE name (name varchar(20), age int); 

查看表:desc tablename
修改表:

ALTER TABLE name ADD (number verchar(11));ALTER TABLE name RENAME TO newName;ALTER TABLE name MODIFY 列名 列类型;--修改列类型

(3)数据操纵

insert into tablename (列名,列名)values ('name','number');--按照列名顺序插入数据,字符用单引号括起来update tablename set 列名=值 where (条件);--修改值 可以加上判断条件delete from tablename where (条件);--删除数据

(4)数据查询

单表查询:

SELECT DISTINCT 列名,[列名。。。] from tableName where (条件) group by  列名 order by 列名 DESC;--  DISTINCT 去除重复行--  group by:按列名分组--  order by:按列名排序,默认升序,desc 降序--

聚集函数:
AVG MIN MAX SUM COUNT 五个;

(5)数据控制

创建用户

    create user 用户名@IP地址 identified by '密码'

授权

    GRANT 权限1,权限2.。。 ON 数据库.* to 用户名@IP地址

撤销授权

revoke   权限1,权限2.。。 on 数据库 from 用户名@IP地址

查看权限

show grants for 用户名@IP地址

删除用户

drop user 用户名@IP地址
0 0