MYSQL 精华讲解总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

约定:

shell>window下输入的命令

mysql>进入MySQL程序后,输入的MySQL的命令

一、SQL简介

1、SQL:Structured Query Language结构化查询语言

他是客户与数据库打交道的通道

2、SQL是有工业标准的。ANSI

符合工业标准的SQL,称之为普通话。

不同的数据库都在SQL工业标准的基础上进行扩展,扩展的部分称之为方言。

3、验证安装是否成功

shell>mysql-u root-p

mysql>SHOW DATABASES;//显示目前有几个库

二、DDL:数据定义语言Data Definition Language

作用:定义数据库或者表结构的。

操作的对象:数据库或表的结构的。

关键字:CREATE ALTER DROP

创建一个名称为mydb1的数据库。

mysql>CREATE DATABASE mydb1;

查看数据库的创建细节

mysql>SHOW CREATE DATABASE mydb1;

创建一个使用gbk字符集的mydb2数据库。

mysql>CREATE DATABASE mydb2CHARACTER SET gbk;

创建一个使用gbk字符集,并带校对规则的mydb3数据库。

mysql>CREATE DATABASE mydb3CHARACTER SET gbk COLLATE gbk_chinese_ci;查看当前数据库服务器中的所有数据库

mysql>SHOW DATABASES;

查看前面创建的mydb2数据库的定义信息

mysql>SHOW CREATE DATABASE mydb1;

删除前面创建的mydb3数据库

mysql>DROP DATABASE mydb3;

创建表之前一定先选择数据库

mysql>USE test;

创建一个员工表

mysql>CREATE TABLE employee(

id int,

name varchar(200),

gender varchar(10),

birthday date,

entry_date date,

job varchar(200),

salary float(8,2),

resume text

);

显示当前数据库中的所有表格

mysql>SHOW TABLES;

在上面员工表的基本上增加一个image列。

mysql>ALTER TABLE employee ADD image blob;

查看表结构的定义

mysql>DESC employee;

修改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 CREATE TABLE user;

修改表的字符集为gbk

mysql>ALTER TABLE user CHARACTER SET gbk;

列名name修改为username

mysql>ALTER TABLE user CHANGE name username varchar(100);

三、DML:Data Manipulation Language数据操作语言

作用:操作表中的数据的。

关键:INSERT UPDATE DELETE

特别注意:日期或字符串、字符要使用单引号引起来。

查看表中的所有记录

mysql>SELECT*FROM user;

使用insert语句向表中插入三个员工的信息。

建议:mysql>INSERT INTO user(id,username,gender,birthday,entry_date,job,salary,resume) VALUES(1,'zql','0','1991-09-07','2013-04-12','CTO',10000.00,'beauty');

mysql>INSERT INTO user VALUES(2,'gfy','1','1987-09-07','2013-04-12','CEO',10000.00,'hand'); mysql>INSERT INTO user(id,username,gender,birthday,entry_date,job,salary,resume)VALUES (3,'王翔云','1','1989-09-07','2013-04-12','UFO',10000.00,'good boy');

插入中文时的问题:(编码问题)

查看数据库目前的各种编码:

mysql>SHOW VARIABLES LIKE'character%';

通知服务器客户端使用的编码字符集

mysql>SET character_set_client=gbk;

显示时乱码

mysql>SET character_set_results=gbk;

将所有员工薪水修改为5000元。

mysql>UPDATE user SET salary=5000;

将姓名为’王翔云’的员工薪水修改为3000元。

mysql>UPDATE user SET salary=3000WHERE username='王翔云';

将姓名为’王翔云’的员工薪水修改为4000元,job改为CMO。

mysql>UPDATE user SET salary=4000,job='CMO'WHERE username='王翔云';

将zql的薪水在原有基础上增加1000元。

mysql>UPDATE user SET salary=salary+1000WHERE username='zql';

删除表中名称为’王翔云’的记录。

mysql>DELETE FROM user WHERE username='王翔云';

删除表中所有记录。

mysql>DELETE FROM user;(一条一条的删除)

使用TRUNCATE删除表中记录。

mysql>TRUNCATE user;(摧毁整张表,然后重建表结构)

四、DQL简单的:Data Query Language

关键字:SELECT

查询表中所有学生的信息。

mysql>SELECT*FROM student;(不建议使用)

mysql>SELECT id,name,chinese,english,math FROM student;

查询表中所有学生的姓名和对应的英语成绩。

mysql>SELECT name,english FROM student;

过滤表中重复数据。

mysql>SELECT DISTINCT english FROM student;

SELECT语句支持一些基本的运算

在所有学生数学分数上加10分特长分。

mysql>SELECT id,name,math+10FROM student;

统计每个学生的总分。

mysql>SELECT name,chinese+english+math FROM student;

使用别名表示学生分数。

mysql>SELECT name AS姓名,chinese+english+math总分FROM student;

查询姓名为王五的学生成绩

msyql>SELECT name,english,chinese,math FROM student WHERE name='王五';

查询英语成绩大于90分的同学

msyql>SELECT name,english,chinese,math FROM student WHERE english>90;

查询总分大于200分的所有同学

mysql>SELECT name,chinese+english+math FROM student WHERE (chinese+english+math)>200;

相关文档
最新文档