天天看点

MySQL从入门到入魔(01)

数据库

学习数据库就是学习如何和数据库软件进行交流,SQL语言就是用于程序员和数据库软件进行交流的语言.

DBMS:DataBaseManagementSystem 数据库管理系统(数据库软件),包括:MySQL/Oracle/SQLServer,DB2,SQLite等

常见DBMS介绍:

MySQL:开源 Oracle公司产品,08年MySQL被Sun公司收购,09年Sun公司被Oracle, 原MySQL创始人离开Oracle创建新的数据库MariaDB 市场占有率第一

Oracle:闭源 Oracle公司产品, 性能最高价格最贵的数据库. 市占率第二

SQLServer:闭源 微软公司产品,应用在微软的整套解决方案中 市占率第三

DB2:闭源 IBM公司产品,应用在IBM整套解决方案中.

SQLite:轻量级数据库,只提供基础的增删改成操作.安装包几十k,主要应用在移动设备和嵌入式设备中.

网站的整套解决方案包括: 开发语言 操作系统 web服务器软件 数据库软件

开源和闭源

开源:开发源代码 免费, 盈利方式:通过卖服务 , 会有程序员无偿的提供升级和维护

闭源:不开放源代码 盈利方式:通过卖产品+卖服务, 会有技术大拿攻击,但是没关系闭源产品的公司会养着一群人负责维护和升级.

SQL语言

Structured Query Language:结构化查询语言, 用于程序员和数据库软件(DBMS)进行交流

如何连接数据库软件: 检查mysql服务开启 window键+r 输入services.msc

开始菜单中找到Mysql/MariaDB文件夹 里面的 Mysql Client 打开后直接输入密码

如果是linux或mac系统 先打开终端 在终端中输入 mysql -u用户名 -p回车 回车后输入密码 回车

断开连接: 关闭窗口 或执行 exit;

Access denied for user 'root'@'localhost' (using password: YES)   密码错误      

数据库相关SQL语句

往数据库软件中保存数据,需要先建库再建表,最后再操作表里面的数据

查询所有数据库

格式: show databases;

创建数据库

格式: create database 数据库名; 使用默认字符集创建数据

create database db1;

指定字符集格式: create database 数据库名 character set utf8/gbk;

create database db2 character set utf8;
    create database db3 character set gbk;      

查看数据库详情

格式: show create database 数据库名;

show create database db1;

删除数据库

格式: drop database 数据库名;

drop database db4;

使用数据库

对表和数据进行操作时必须先使用了数据库才可以 不然会报错

格式: use 数据库名;

use db1;

数据库相关练习:

分别创建mydb1和mydb2 第一个字符集utf8 第二个gbk

create database mydb1 character set utf8;
    create database mydb2 character set gbk;      

查询所有数据库检查是否创建成功

show databases;

分别查询两个数据库的字符集是否成功

show create database mydb1;
    show create database mydb2;      

先使用mydb1 再使用mydb2

use mydb1;
    use mydb2;      

删除两个数据库

drop database mydb1;
    drop database mydb2;      

表相关的SQL

操作表时一定保证已经使用了某个数据库 不然会报以下错:

ERROR 1046 (3D000): No database selected

创建表

格式: create table 表名(字段名 字段类型,字段名 字段类型);

create table student(name varchar(10),age int);      

指定字符集格式: create table 表名(字段名 类型,字段名 类型) charset=utf8/gbk;

create table person(name varchar(10),gender varchar(5))charset=gbk;      

查询所有表

格式: show tables;

查询表详情

格式: show create table 表名;

show create table person;      

查看表字段

格式: desc 表名;

desc student;      

删除表

格式: drop table 表名:

drop table student;      

修改表名

格式: rename table 原名 to 新名;

rename table person to t_person;      

添加表字段

最后添加格式: alter table 表名 add 字段名 类型;

最前面添加:alter table 表名 add 字段名 类型 first;

在某个字段后面添加 alter table 表名 add 字段名 类型 after xxx;

alter table t_person add salary int;
    alter table t_person add id int first;
    alter table t_person add age int after name;      

删除表字段

格式: alter table 表名 drop 字段名;

alter table t_person drop salary;      

修改表字段

格式: alter table 表名 change 原名 新名 新类型;

alter table t_person change age salary int;