MySQL入门 基本语法1
2017-09-23 15:14
495 查看
一、MySQL的基本使用
1.1 命令行下的基本操作mysql -u 用户名 -p 回车 输入密码:xxx 进入数据库 (mysql中所有的命令以分号结束,输入help;查询所有的mysql命令)
1.2 MySQL目录结构
bin: 所有的可执行文件exe MySQLInstanceConfig.exe 服务器配置向导的文件 data: 系统数据库和自带的演示数据库的文件 my.ini 配置好的文件文件
1.3数据库服务器、数据库和表的关系
**
二、SQL语句的四种类型
2.1 DDL (Data Definition Language)数据定义语言,用于创建表、创建库。如:create/alter/drop
2.2 DML(Data Manipulation Language)
数据操纵语言,对数据进行增删改操作。如:insert/update/delete
2.3 DQL (Data Query Language)
数据查询语言,对数据进行查询操作。如:select/show
2.4 DCL (Data Control Language)
数据控制语言,grant/revoke 对用户进行管理
2.5 MySQL 中的三种注释:
1) – 单行注释 –
2)/* 多行注释 */
3)# 单行注释,不建议这种,只在mysql起作用
**
三、MySQL 管理数据库
//3.1 查看所有数据库 show databases; //3.2 创建数据库 create database db1; // 3.2.1 指定默认字符集为GBK create database db2 default character set gbk; //3.3 查看数据库的创建语句 show create database db1;
3.4 校对规则
3.4.1 什么是校对规则
字符集:一个语言的所有字符的编码表,每个字符都对应了一个编码。
校对规则:同一个字符集可以有多个校对规则,不同的校对规则排序方式不一样。
校对规则 作用 utf8_general_ci 忽略大小写进行排序,如:a B c D 排序顺序 utf8_bin 使用二进制编码进行排序,如:B D a c
3.4.2 查看字符集和校对规则:
查看所有的字符集
显示 GBK 字符集的校对规则
3.4.3 指定数据库的默认字符集为gbk和校对规则gbk_chinese_ci
create database db3 default character set gbk collate gbk_chinese_ci;
3.5 删除数据库
drop database db3;
3.6 修改数据库默认字符集,将db3的字符集改成utf8
alter database db3 default character set utf8;
**
四、表的管理
4.1 查询所有表use db1; --进入数据库 show tables; --显示当前数据库中所有表
4.2 创建表 create
//创建一个学生表 create table student( id int, name varchar(20), birthday date );
先写变量名,再写数据类型
4.3 MySQL中列的数据类型
4.4 查看一个表结构
show tables;
1.以sql格式返回
show create table student;
2.以表格格式返回
desc student;
3.复制表
如:创建一个员工表,表结构与学生一样 (like)
create table employee like student;
4.删除表 drop
1)删除一张表: drop table 表名; 2)删除多张表: drop table 表1,表2;
5.修改表 alter
1.添加字段:add
//实例1:student表添加一个remark字段,类型char(10) alter table student add remark char(10); //实例2:同时添加两个字段,一个名为 a int,一个名为b int alter table student add a int,add b int;
2.修改字段:modify
//实例:将student表中的remark字段的属性改成varchar(100) alter table student modify remark varchar(100);
3.修改字段名称:change
//实例:将student表中的remark字段名改成intro,类型不变。 alter table student change remark intro varchar(200);
4.删除字段:drop
//删除student表中的字段a和字段b alter table student drop a,drop b;
5.修改表名:rename
//实例:将学生表student, 改名为college_student alter table student rename college_student;
**
五、数据的管理与操作
5.1 插入数据– 5.1.1 插入所有列
//示例:向学生表中插入3条记录 -- 向学生表中插入3条记录,在mysql中字符串可以使用单引号和双引号,建议使用单引号。日期也使用单引号 insert into student values(1, '关羽', '2000-11-11'); insert into student values(2, '张飞', '2002-11-11'); insert into student values(3, '刘备', '1900-11-11'); -- 一条SQL语句插入三条记录,只有mysql中可以这样写 insert into student values(4, '赵云', '2000-11-11'),(5, '孔明', '2000-11-11'),(6, '吕布', '2000-11-11');
注意:
1) 数据类型与列的数据类型匹配
2) 字符串的长度不能超过列中定义的最大长度
3) 位置与列的位置匹配
4) 字符和日期型使用单引号
–5.1.2 插入部分列
insert into student (id,name) values (7, '小乔');
5.2 修改数据
语法:
**
UPDATE: 表名
SET:修改的列和值
WHERE:对符合条件的记录进行修改,如果没有写Where则是修改所有的列
**
-- 修改表结构,添加性别列char(1) alter table student add gender char(1); select * from student; -- 更新student表中所有的性别列,改成男 update student set gender='男'; -- 修改小乔为女 update student set gender='女' where name='小乔'; -- 同时修改多列 update student set name='白云', birthday = '2010-03-20', gender='女' where name='赵云';
5.3 删除数据
5.3.1 删除表中的所有数据
delete from student;
5.3.2 删除部分行数据
-- 删除id为3的学生 delete from student where id=3;
**
5.4 查询数据(重点)
**5.4.1 查询所有列
示例: 查询所有列 select * from student;
5.4.2 查询指定列
示例:多个列之间以逗号分隔 -- 查询name和gender这两列 select name,gender from student;
5.4.3 查询时指定别名
示例:查询时给列指定别名(AS) -- 显示出来的结果是汉字,as起别名 select id as 编号, name as 姓名, birthday as 生日, gender as 性别 from student; -- 起别名as可以省略 select id 编号, name 姓名, gender 性别 from student;
5.4.4 合并列查询
1. 需求:添加数学,英语成绩列,并添加成绩
alter table student add math int, add english int;
需求:查询每个学生的数学和英语的总成绩
-- 合并查询总成绩 (as可以省略) select *, (math+english) as 总成绩 from student;
5.4.5 去除重复数据(distinct)
需求: 查询学生都来自于哪里
-- 添加城市列 alter table student add city varchar(10); select * from student; -- 查询学生来至于哪些城市 select distinct city from student;
5.5 条件查询
–5.5.1 where 子句
–5.5.2 比较运算符
-- 查询数学大于85分的学生 select * from student where math > 85; -- 查询性别不为男的 select * from student where gender <> '男' -- 不建议 select * from student where gender != '男' -- 查询数学在80到90之间 select * from student where math >=80 and math<=90; -- 使用between.. and,包头又包尾 select * from student where math between 80 and 90; -- 查询id是1,2,5的学生 select * from student where id=1 or id=2 or id=5; -- 使用in查询 select * from student where id in(1,2,5); -- 查询所有姓白学生,%通配符,可以匹配任意字符 select * from student where name like '白%'; -- 查询包含白字的姓名 select * from student where name like '%白%'; -- 查询姓白,只有2个字的学生,_ 匹配1个字符 select * from student where name like '白_'; -- 插入一条记录 insert into student (id,name) values (7,'张飞'); -- 查询性别为null的学生 select * from student where gender is null;
–5.5.3 判空条件
1) 判断是否为空串: gender = ‘’ 2) 判断是否为空: gender is null 3) null和空字符串的区别:null是没有数据,空串是有数据,只是空字符串
相关文章推荐
- MySQL入门(1)--安装,配置,基本语法
- 【sql入门】根据要求绘制E/R图,创建数据库(2)mySQL建表基本语法及主键外键选择
- MYSQL入门学习之十四:游标的基本操作
- PHP入门必须掌握的基本语法
- MySql基本语法
- MySQL基本语法学习
- Mysql入门(一)之SQL基本操作
- mysql基本语法
- JSP入门-基本语法
- MySQL的一些基本语法
- MySQL的一些基本语法(4)-索引
- Mysql入门基础(1)-->基本介绍
- mysql和sqllite的基本语法比较
- mysql 基本语法介绍
- MySQL学习笔记——基本语法
- mysql存储过程 基本语法
- Mysql学习历程基本语法(1)
- mysql 基本操作 选择合适的引擎 选择索引、视图语法(第三章)
- (七)freemarker的基本语法及入门基础
- Scala光速入门之Scala的基本语法、Array、Map、Tuple等