mysql 简单入门讲解
一, 定义
1、SQL:Structured Query Language的缩写,是主流“关系"数据库。SQL有一套工业标准(ANSI维护)。
2.SQL的分类:DQL:数据查询语言,DML:数据操作语言,DML:数据操作语言,DCL:数据控制语言,TPL:事务处理语言,CL:指针控制语言
二.安装mysql数据库,这里我就不总结了。
1.找到mysql bin 安装目录, 登录命令:mysql -u root -p (root 的是用户名 ,回车之后输入数据库密码)
2.显示root 用下数据库:show databases; (windows 下mysql 不区分大小写, linux 下区分)
三 sql 简单语句练习。
1、DDL:Data Definition Language
作用:定义数据库及表的结构的。
关键字:CREATE ALTER DROP TRUNCATE(摧毁整张表,然后重建表结构)
练习:
-----------------------------------------------
创建一个名称为mydb1的数据库(用这个)。
mysql>create database MYDB1;
查看数据库的创建细节
mysql>show create database MYDB1;
创建一个使用gbk字符集的mydb2数据库。
mysql>create database MYDB2 character set gbk;
创建一个使用gbk字符集,并带校对规则的mydb3数据库。
mysql>create database MYDB3 character set gbk collate gbk_chinese_ci;
查看当前数据库服务器中的所有数据库
mysql>show databases;
查看前面创建的mydb2数据库的定义信息
mysql>show create database mydb2;
删除前面创建的mydb3数据库
mysql>drop database MYDB3;
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
mysql>alter database MYDB2 character set utf8;
-----------------------------------------------------------------------------
创建一个员工表
创建表之前,要先选择数据库
mysql>use MYDB1;
mysql>create table EMPLOYEE(
ID int,
NAME varchar(200),
GENDER varchar(10),
BIRTHDAY date,
ENTRY_DATE date,
JOB varchar(100),
SALARY float(8,2),
RESUME text
);
查看表的结构
mysql>desc EMPLOYEE;
在上面员工表的基本上增加一个image列。
mysql>alter table EMPLOYEE add IMAGE blob;
修改job列,使其长度为60。
mysql>alter table EMPLOYEE modify JOB varchar(60);
删除image列。
mysql>alter table EMPLOYEE drop IMAGE;
表名改为user。
mysql>rename table EMPLOYEE to USER;
查看当前数据库中的所有表格
mysql>show tables;
查看表的创建细节
mysql>show create table USER;
修改表的字符集为gbk
mysql>alter table USER character set gbk;
列名name修改为username
mysql>alter table USER change NAME USERNAME varchar(200);
-----------------------------------------------------------------------------------------------------------------
2、DML:Data Manipulation Language
作用:用于向数据库表中插入、删除、修改数据
常用关键字:INSERT UPDATE DELETE
Tips:a、在MySQL中,字符、字符串、日期、时间、日期时间,这样的值要使用单引号引起来。
b、特殊值:null
使用insert语句向表中插入三个员工的信息。
mysql>insert into USER values(1,'cll','female','1989-02-09','2013-08-26','CEO',10000,'beautful girl');(不建议)
mysql>insert into USER (ID,USERNAME,GENDER,BIRTHDAY,ENTRY_DATE,JOB,SALARY,RESUME) values(2,'lm','female','1990-02-09','2013-08-26','CTO',10000,'beautful girl');
mysql>insert into USER (ID,USERNAME,GENDER,BIRTHDAY,ENTRY_DATE,JOB,SALARY,RESUME) values(3,'cjk','male','1990-12-09','2013-08-26','UFO',10000,'hansemu man');
3.mysql 处理中文乱码
查看MySQL目前设置的6处编码的值:
mysql>show variables like 'character%';
通知mysql,客户端使用的编码
mysql>set character_set_client=gbk;
通知mysql,客户端显示结果时用的编码
mysql>set character_set_results=gbk;
4. 简单的sql 练习:网上有很多不列举了。本篇针对初学者对mysql 的根部了解。
(1) 将一个表的数据插入到另一个表的数据 sql
insert into privilege (id,name,url,target,isparent,pid,icon) select mid,name,url,target,isparent,pid,icon from menuitem;
5. mysql 备份常用知识