mysql知识初篇(一)

    

mysql介绍
(1) mysql数据库是瑞典AB开发。
(2) mysql--> sun --> oracle。
(3) mysql数据库的特点。
1. 开源。
2. 免费。
3. 跨平台(windows/linux/unix/苹果)。
4. 处理并发性(13000个)/安全/稳定。
5. 该数据库 轻(对资源要求不高)安装文件 37.7M。而且

对cpu/内存要求都不高

基本语法:
在dos下输入:
mysql -u 用户名 -p 密码
特别说明 -p 后面的密码不要有空格 /使用该命令的时候,需

要配置一下环境变量
2. mysql数据库也提供图形化界面来登录以及操作。
3. 如何在mysql中创建数据库
基本语法:
create database mydb1 ;
--创建一个mydb1的数据库
create database mydb2 character set utf8 ; --创建一个

使用utf-8字符集的mydb2的数据库
create database mydb3 character set utf8 collate

utf8_general_ci

如何查看,创建数据库的指令
show create database 数据库名;
显示数据库
指令: show database ;
查看创建数据库的指令
drop database uuu ; ----删除数据库
如何使用某个数据库:
use mydb1 ----use 数据库名
-------如何创建一个数据表
create table users(
id int , ---学号
name varcahr(30) ---名字
)

如何备份数据库和回复数据库:
------ 该指令,需要在dos控制台下直接执行。
mysqldump -u root -p密码 数据名 > 存放路径+文件名.sql。
举例子:
mysqldump -u root -p123 myshop > D:\myshop.sql 数据库的恢复;
mysql> source d:/myshop.sql

恢复数据库:
1.创建一个数据库mydb2,但是这个数据库目前是空
2.mysql控制台,使用source备份文件路径、
mysql分页技术:
select * from 表名 limit start(从第几条取出),取出几条
.创建表
基本语法:
create table 表名(
列名 列的数据类型 ,
....
){
//后面可以设置字符集
character 字符集名称 collate 校对规则
}
案列:
创建一张用户表
create table users(
id int ,
name varchar(64),
pwd varchar(64),
birthday date
)

mysql的数据类型:

数值型:
1. bit(M) m默认为1 最大64 ---最大能存储八字节的数
-----这部分是整型
2. tinyint signed/unsigned 取值范围为: 这是对于有符号
-128-127,对于无符号而言,取值范围为: 0-255,其实说明白了就是占一个字节。
3.smallint 占两个字节也分为有符号和无符号两种。
4.mediumint 占3字节也分为有符号和无符号两种。
5. int 占4字节 分有符号和无符号
6. bigint 占8字节 分有符号和无符号两种。

7. float 占4字节来表示
格式: Float(m,d)[unsigned]
m: 表示位数 ,d 表示小数点有几位
8. double 占8个字节
其用法类似float,只是表示的范围更大,也是定长。
9. numeric( m ,d )
用于表示小数,或者整数。
10.decimal(m ,d)属于变长。
对于文本和二进制类型:
常用的有:
(1)char(m) m范围是0-255,定长
eg: char(20)如果你存放,‘abc‘ ,实际在表中的存在形式为:‘abc【17个空格】’
小知识:
mysql自带的client默认支持utf8码,所有我们在添加中文的时候,需要设置让client支持gbk.
*show variables like ‘%char%‘* //显示关于字符的设置参数
(2)varchar(m)
m表示大小 范围 0-65535 变长
varchar(20)如果你存放 ‘abc‘字串,实际在表中存在形式‘abc’
建 议: 如果表的某列长度固定,比如 产品编号,学号,而且在255内,我们应当使用char,如果长度不能取得,或者长度大于255,小于65535,则使用varchar。
(3)text
该类型,可以表示更大的字串、
(4)日期类型:
1. date (日期:年-月-日)
2. datetime
3. timestamp

邮戳: 该类型可以保存 年-月-日 : 时分秒
它和datetime最大的区别是,当你upda某条记录的时候,该列

值,会自动更新。
-------- 建议: 如果不知道该不该用timestamp,就不要用
*修改新的列
alter table 表名 add 列名 数据类型
----修改列(列的类型和大小)
alter table 表名 modify 列名 新的数据类型
----删除某列
alter table 表名 drop 列名
0. 在上面的员工表的基本上增加一个image列
1. 修改job列,使其长度为60
2. 删除sex列
3. 表名改为user
4. 修改表的字符集为utf8
5. 列名name修改为username
alter table user change column name username varchar(20);
使用insert语句向表中插入数据。
1、insert into 表名 [列名...] values(值...);
2、update 表名 set 列名=表达式... where 条件
说明:如果where 后面没有条件,则相当于对整个表进行操作。
3、delete from 表名 where 条件,
注意: 如果不使用where子句,将删除表中所有数据。
所有要小心使用
注意事项:
1. Delete语句不能删除某一列(可使用 Update)
2.使用delete语句仅删除记录,不删除表本身。如果删除表

,使用(drop语句)
3.同insert和update一样,从一个表中删除记录将引起其它

表的参照完整性问题,在修改数据库数据时,头脑中应该始终不

要忘记这个潜在的问题。
4.删除表中数据也可使用Truncate table语句,它和delete

有所不同、
---truncate table 表名 ,可以删除表的记录,速度快,但

不能回滚。
4. 在mysql中事务的一个特殊说明:

(1). mysql控制台是默认自动提交事务(dml)
(2). 如果我们要在控制台使用事务,应该这样
首先这样设置: set autocommit=false;
设置一个保存点: savapoint AA;
回滚: rollback to AA;
5. select 语句
select 列名....from 表名 where 条件
注意事项:
* select 指定查询乃邪恶列的数据
* column指定列名。
* 号代表查询所有列
select * from 表名。
* from 指定查询那张表
* Distinct可选,指显示结果时,是否剔除重要数据。
select distinct * from book ;
---使用where子句,进行过滤查询。
---like语句中,%代表0个或者多个任意字符,_代表一个字符。
使用order by子句排序查询结果,子句应位于select语句的结尾。
select column1,column2,column3..from table order by
column asc|desc ;
ASC: 升序 Desc 降序;
--- count语句,统计
统计一个班级共有多少学生
select count(*) from student where grade>90 ;
-----合计函数 sum
sum函数返回满足where条件的行的和
1. 统计一个班级数学总成绩?
select sum(math) from student;
2. 统计一个班级语文,英语,数学各科的总成绩
select sum(math),sum(english),sum(chinese) from student;
3.统计一个班级语文,英语,数学的成绩总和。
select sum(math+english+chinese) from student;
4.统计一个班级语文成绩平均分
select sum(chinese)/count(*) from student ;
注意:
1. sum仅对数值起作用。否则会报错。
avg的用法:
1. 求一个班级数学平均分:
select avg(math) from student ;
2. 求一个班级总分平均分
select avg(math+english+chinese) from student;
合计函数---MAX/MIN
i. 求班级最高分合最低分(数值范围在统计中特别有用)
select max(english+math+chinese) from student;

时间: 2024-10-08 23:02:08

mysql知识初篇(一)的相关文章

MySQL知识理论篇

此篇文件献给正在学习MySQL的同学们,如果希望探讨学习请加我QQ:402283866 [思维理论篇] MySQL的定义 MySQL就是一个存表格的仓库,用规范的语句可以操作这个表(我们称sql语句).这些表格的每一行为一个单位,被公司记录一些信息. MySQL的使用方法 MySQL中的表格,每一行在被调用的时候会使用一些标准的语句,语句可以完成增删改查等操作.这些语句有6类,常用的有3类,每一类只有3-5个总有固定的单词,反复练习很容易掌握. MySQL主从同步 因为两个原因要设置主从同步:1

SQL数据库基础知识-巩固篇<一>

SQL数据库基础知识-巩固篇<一>... 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用了> MySQL-57 DataBase MS-SQLServer-2000 DataBase SQL的含义:结构化查询语言(Structured Query Language)简称SQL 作用:SQL(Structured Query Language,结构化查询语言)是一种用于操作数据库的语言. 结构化查询语言包含6个部分:一:数

MySQL知识树-支持的数据类型

本篇学习笔记的主要内容: 介绍MySQL支持的各种数据类型(常用),并讲解其主要特点.   MySQL支持多种数据类型,主要包括数值类型.日期和时间类型.字符串类型. 数值类型 MySQL的数值类型包括整数类型.浮点数类型.定点数类型.位类型. 整数类型 MySQL支持的整数类型有tinyint.smallint.mediumint.int.bigint(范围从小到大). zerofill 我们在定义整数类型时可以在类型名称后面的小括号内指定显示宽度,例如int(5),当插入的数值宽度小于5位时

MySQL知识总结(二)

上一篇MySQL知识总结(一)的传送门:http://www.cnblogs.com/rosestudy/p/4820234.html 四.关系运算基础 选择运算(行运算 单表操作) 投影(列运算 单表操作) 连接运算(多表操作) 等值连接:常用条件是两个表的某些列值相等 自然连接:要求两个表有共同的属性(列),自然连接运算的结果集是在参与操作两个表的共同属性上进行等值连接后,再去除重复的属性所得的新表 五.MySQL数据库查询 选择SELECT列 选择指定列 定义列别名  格式:select

学习mysql语法--基础篇(二)

  前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成]   DML 数据操作语言(插入.删除和修改数据库中的数据)INSERT UPDATE DELETE   DQL 数据查询语言(用来查询数据库中的数据)SELECT   DCL 数据控制语言(用来控制存取许可.存取权限等)CREATE   DDL 数据定义语言(用来建立数据库.数据库对象和定义表的列)CREATE

学习mysql语法--基础篇(一)

  前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分:    一.创建用户,创建数据库,给用户分配权限,删除用户权限.    二.MYSQL中常见的数据类型 三.表-创建表.主键.外键    四.数据库设计的三大范式 以下所有代码全部在新建查询表里面使用mysql语法编辑. 1.创建用户,创建数据库,给用户分配权限,删除用户权限. /* SQL 多行注释 */-- SQL 单行注释 创建

【瞎折腾系列】mysql存储过程初接触

开始[瞎折腾系列],这个系列纯属瞎折腾,可能没有什么实际意义. mysql存储过程生成表: 新建一张user表,包含id, username , password , usertable字段. 然后创建存储过程: create PROCEDURE create_table() BEGIN DECLARE n int DEFAULT 0; DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET

&lt;邮件服务postfix+mysql&gt;MAIL第二篇

环境:本服务是建立在第一篇的基础之上的,最好搭建好第一篇 玩此服务的前提是你的系统装好了msql和postfix服务. Postfix+mysql主要是把邮件服务的发与mysql结合使用.当然mysql要是一直是在命令行下使用也不是很方便对吧,下面我们来看linux图形化下mysql的使用: 下面的软件包. phpMyAdmin-2.11.3-all-languages.tar.gz是以php的格式结合Apache通过网页的形式管理mysql. 既然是使用网页管理mysql,当然很定得将这个软件

两个容易被忽略的mysql知识

原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误