MySQL的基础
********************************************************************
1.数据库:高效的存储和处理数据的介质(介质主要是2种:磁盘和内存)
2.数据库的分类?
<1>基于存储介质的不同,分为两类:
关系型数据库(SQL)
非关系型数据库(NoSQL:Not Only SQL不是关系型的都叫做关系型数据库)
3.关系型数据库
大型的:Oracle DB2
小型 SQL_SERVER Mysql
菲关系型数据库:memcached,mongodb,redis(同步到磁盘)
4.两种数据库阵营的区别
关系型数据库:安全(保存到磁盘不可丢失),容易理解
非关系型 :易丢失,但是效率高
5.什么是关系型的数据库
是一种建立在关系模型(数学模型)上的数据库。
6.关系模型:是一种建立在关系模型上,关系模型包括三个方面
数据结构:数据存储的问题,二维表(有行和列)
操作指令集合 :所有SQl语句
完整性约束:表内数据约束(字段与字段)表与表之间的约束
7.关系型数据库的设计?
关系型数据库:从需要存储的数据需求分析
8.数据库关键字的说明
数据库:database
数据库系统:DBS 是一种虚拟系统
DBA : 数据库管理员。
DBMS: 数据库管理系统
行/记录:row/record,本质是一个东西
9. SQL :结构化查询语言(数据主要是以查询为主:99%在查询操作)
分为三个部分
DDL:数据定义语言,用来维护存储数据的结构
DML:数据操作语言,用来对数据进行操作
DCL:数据控制语言,主要负责权限。
10.Mysql
是一种C/S的结构软件:客户端 服务端。若想访问服务器必须通过客户端(服务 器一直运行,客户端在需要使用的时候运行)。飞Q,是一种扁平化CS结构
11.交互方式
1.客户端连接认证:连接服务器 .认证身份 mysql.exe -hPup hP-连接 up-认 证
端口-找软件3306 -h 找电脑
2.发送SQL
3.服务器接收SQL指令,返回结果
4.客户端接收结果:显示结果
5.断开连接(释放资源,服务器并发限制)
12.连接:mysql.exe -hlocalhost -P3309 -uroot -p 打开服务器
show global variables like 'port'; 查看端口号
发送:show databases 查看所有的数据库
返回结果
退出:exit,quit,\q
13.mysql创建数据库命令:
1.show databases //显示数据库
2.create database student(数据库名) //创建数据库student
3.use student //进入student数据库
4.create table studinfo(表名) (sno int primary key,sage int(2))
............ // 创建表studinfo
5.show table //显示表 ..............
6.drop database student //删除student数据库
14. 1、显示数据库列表。
show databases;
2、显示库中的数据表:
15.Mysql与sql的区别
SQL 是结构化查询语言 类比java;是一种编程语言
例如 selec *from tb; //语句
MySQL 是一个关系型数据库 类似 DB2 SQL server Oracle
是开源的
16. mysql的社区版本 是开源的免费版本。
在安装的时候 可以选择默认,网上是custom
每次连接数据库都要连接数据库
在配置中有开机自动启动的选项
17. mysql的配置
提示信息
Commands end with; or \g
:mysql命名行下的命令以分号(;)或"\g"来结束,遇到这个结束符就 开始执行命令;
Your MySQL connection id is 24 Server version:5.0.67-community-nt
id表示MySQL的数据库连接次数,后面是社区版,版本号等信息;
Type 'help;' or '\h' for help
表示输入help;或\h可以看到帮助信息;
Type '\c' to clear the buffer
遇到\c就会清屏
MySQL Server 5.0\目录下
bin:可执行文件,如mysql.exe、mysqld.exe等;
include:头文件,如decimal.h、errmsg.h等;
lib:库文件,分两个文件夹,分别是opt和plugin;
share:字符集、语言信息;
只有my.ini是正在使用的。
my.ini:MySQL数据库使用的配置文件,修改该文件即可修改配置;
my-huge.ini:适合超大型数据库的配置文件;
my-large-ini:适合大型数据库的配置文件;
my-medium.ini:适合中型数据库的配置文件;
my-small.ini:适合小型数据库的配置文件;
my-template.ini:配置文件的模板;
my-innodb-heavy-4G.ini:该配置文件只对InnoDB存储引擎有效,而且服务器的内存不能小于4G;
可以在my.ini添加上关注字符转换的配置。GBK
18.添加DB:create database gc;
删除DB drop database gc;
建立的数据 库是独立的
show databases; 显示每个里面都有数据表
19.数据库的类型
使用数据库的时候,要建立一个database (DB)内部有许多的数据库表,(table)
table:表名,有许多的的字段。(列)
《1》常用三种数据类型
1.文本类,char ,vachar(可变长度,灵活),text,LONGtEXT (长文本)
2.数字类,TINTINT(bool),INT,,bigint,DOUBLE
3.日期类, DATE,DATETIME(年月日时分秒)。
20.添加和删除数据表(table)
creat table 表名(
添加 表中的每一列(字段名),和数据类型“,”隔开
);
例如 用户账号
create table accent(
id bigint(20), #id 号
create Time datetime, #创建的时间
ip varchar(255), #ip
mobile varchar(255), #联系
nicname varchar(255), #昵称
passwd varchar(255), #密码
username varchar(255),#用户名
avatar varchar(255), #头像
brief text, #用户简介,内容大
job varchar(255), #工作
localtion varchar(255),#地域
qq varchar(255), #QQ号
gender int(11), #性别
city varchar(255), #城市
province varchar(255), #省份
);
删除数据库表table
drop table “表名”
describe 表名 “查看表的信息”
21.修改table,增加列
添加:alter table 表名 add 列名 数据类型 [not null][default](默认的,可以不选)
删除:alter table 表名 drop 列名
22. 修改table 信息和表名
修改列的信息: alter table 表名 change 旧的列名 新的列名 数据类型
可以灵活的使用,只改变列名而不改变数据类型
修改表名 :alter table 表名 rename 新的表名
23.查看表的数据
select *from 表名 ,查看表中的所有的数据。
select col_name,col_name2,..........from table_name; 表中有许多的字段,会显示固定的
列。
插入数据
insert into 表名 values(值1,值2,.....) 会插入数据到所有的列中
insert into 表名 (列1,列2....) value(值1,值2,........) 会插入到特定列
例如 insert into book values(3);是会错的,默认要添加上所有的字段的内容。
24.where语法 where后更条件语句
select *from 表名 where 列名 运算符 值
例子:
select *from book where title=‘t’;
运算符 =,!=,<;>,>=,<=,betwin(两个范围内),like 安装某个模式查找
组合条件 and、or
select *from 表名 wherer col1 = xxx and col2 = xx or col3 >xx
25.null的判断 :用来判断是否为空,而不是用“=”
select *from 表名 where col_name is null
select *from 表名 where col_name is not null
26.select distinct(精确地)应用在查重中有重复的,只要把不一样出现一次,不需要列出各种
结果。去重
select distinct 列名 from 表名
27.使用order by对查询结果排序
1.按照单一的列表排序
select *from 表名 [where 字句] order by col_name [asc/desc] 二者选一个,升 序/降序
2.按照多列排序:
select *from 表名 [where 字句] order by col1 [asc/desc],col1 [asc/desc]...
不加asc或者desc时,默认asc
28.select结果使用limit截取
limit 可以查看指定行 的内容
select *from 表名 [where 字句] linit [offst,]rowCount
offset:查询结果的起始位置,第一条记录的其实是0 (可以不填)
rowCount:从offset位置开始,获取记录的条数
位置和条数 就是范围了
limit rowCount = limit 0,rowCount (offset可以不填,相当于0)
29.insert into 与select的组合
实现的功能,能够把另外表中的内容插入到 当前的表中
insert into 表名1 select 列1,列2 from 表名2
30.更新表数据
update 表名set 列名 = xxx [where 字句]
update 表名set 列名1 = xxx,列名1 = xxx... [where 字句]
31.where的in操作符
select *from 表名 where 列名 in(value1,Value...)
select *from 表名 where 列名 in(select 列名 from 表名)
列名 in(valuw1,value2 ...)等同 列名=value1 or 列名 = value2...
32.where 中的between (筛选的条件而已)
select *from where 列名 between值1 and 值2
select *from where 列名 notbetween值1 and 值2
33.where中的like的操作(字符串的模糊匹配)
select *from 表名 where 列名 [not] like pattren
pattern:匹配的模式
例如 ‘abc’ : 列完全是abc,才匹配
‘%abc’: 匹配abc为结尾的字符串
‘abc%’: 匹配以abc开头的字符串
‘%abc%’:匹配只要包含abc就可以
********************************************************************
1.数据库:高效的存储和处理数据的介质(介质主要是2种:磁盘和内存)
2.数据库的分类?
<1>基于存储介质的不同,分为两类:
关系型数据库(SQL)
非关系型数据库(NoSQL:Not Only SQL不是关系型的都叫做关系型数据库)
3.关系型数据库
大型的:Oracle DB2
小型 SQL_SERVER Mysql
菲关系型数据库:memcached,mongodb,redis(同步到磁盘)
4.两种数据库阵营的区别
关系型数据库:安全(保存到磁盘不可丢失),容易理解
非关系型 :易丢失,但是效率高
5.什么是关系型的数据库
是一种建立在关系模型(数学模型)上的数据库。
6.关系模型:是一种建立在关系模型上,关系模型包括三个方面
数据结构:数据存储的问题,二维表(有行和列)
操作指令集合 :所有SQl语句
完整性约束:表内数据约束(字段与字段)表与表之间的约束
7.关系型数据库的设计?
关系型数据库:从需要存储的数据需求分析
8.数据库关键字的说明
数据库:database
数据库系统:DBS 是一种虚拟系统
DBA : 数据库管理员。
DBMS: 数据库管理系统
行/记录:row/record,本质是一个东西
9. SQL :结构化查询语言(数据主要是以查询为主:99%在查询操作)
分为三个部分
DDL:数据定义语言,用来维护存储数据的结构
DML:数据操作语言,用来对数据进行操作
DCL:数据控制语言,主要负责权限。
10.Mysql
是一种C/S的结构软件:客户端 服务端。若想访问服务器必须通过客户端(服务 器一直运行,客户端在需要使用的时候运行)。飞Q,是一种扁平化CS结构
11.交互方式
1.客户端连接认证:连接服务器 .认证身份 mysql.exe -hPup hP-连接 up-认 证
端口-找软件3306 -h 找电脑
2.发送SQL
3.服务器接收SQL指令,返回结果
4.客户端接收结果:显示结果
5.断开连接(释放资源,服务器并发限制)
12.连接:mysql.exe -hlocalhost -P3309 -uroot -p 打开服务器
show global variables like 'port'; 查看端口号
发送:show databases 查看所有的数据库
返回结果
退出:exit,quit,\q
13.mysql创建数据库命令:
1.show databases //显示数据库
2.create database student(数据库名) //创建数据库student
3.use student //进入student数据库
4.create table studinfo(表名) (sno int primary key,sage int(2))
............ // 创建表studinfo
5.show table //显示表 ..............
6.drop database student //删除student数据库
14. 1、显示数据库列表。
show databases;
2、显示库中的数据表:
15.Mysql与sql的区别
SQL 是结构化查询语言 类比java;是一种编程语言
例如 selec *from tb; //语句
MySQL 是一个关系型数据库 类似 DB2 SQL server Oracle
是开源的
16. mysql的社区版本 是开源的免费版本。
在安装的时候 可以选择默认,网上是custom
每次连接数据库都要连接数据库
在配置中有开机自动启动的选项
17. mysql的配置
提示信息
Commands end with; or \g
:mysql命名行下的命令以分号(;)或"\g"来结束,遇到这个结束符就 开始执行命令;
Your MySQL connection id is 24 Server version:5.0.67-community-nt
id表示MySQL的数据库连接次数,后面是社区版,版本号等信息;
Type 'help;' or '\h' for help
表示输入help;或\h可以看到帮助信息;
Type '\c' to clear the buffer
遇到\c就会清屏
MySQL Server 5.0\目录下
bin:可执行文件,如mysql.exe、mysqld.exe等;
include:头文件,如decimal.h、errmsg.h等;
lib:库文件,分两个文件夹,分别是opt和plugin;
share:字符集、语言信息;
只有my.ini是正在使用的。
my.ini:MySQL数据库使用的配置文件,修改该文件即可修改配置;
my-huge.ini:适合超大型数据库的配置文件;
my-large-ini:适合大型数据库的配置文件;
my-medium.ini:适合中型数据库的配置文件;
my-small.ini:适合小型数据库的配置文件;
my-template.ini:配置文件的模板;
my-innodb-heavy-4G.ini:该配置文件只对InnoDB存储引擎有效,而且服务器的内存不能小于4G;
可以在my.ini添加上关注字符转换的配置。GBK
18.添加DB:create database gc;
删除DB drop database gc;
建立的数据 库是独立的
show databases; 显示每个里面都有数据表
19.数据库的类型
使用数据库的时候,要建立一个database (DB)内部有许多的数据库表,(table)
table:表名,有许多的的字段。(列)
《1》常用三种数据类型
1.文本类,char ,vachar(可变长度,灵活),text,LONGtEXT (长文本)
2.数字类,TINTINT(bool),INT,,bigint,DOUBLE
3.日期类, DATE,DATETIME(年月日时分秒)。
20.添加和删除数据表(table)
creat table 表名(
添加 表中的每一列(字段名),和数据类型“,”隔开
);
例如 用户账号
create table accent(
id bigint(20), #id 号
create Time datetime, #创建的时间
ip varchar(255), #ip
mobile varchar(255), #联系
nicname varchar(255), #昵称
passwd varchar(255), #密码
username varchar(255),#用户名
avatar varchar(255), #头像
brief text, #用户简介,内容大
job varchar(255), #工作
localtion varchar(255),#地域
qq varchar(255), #QQ号
gender int(11), #性别
city varchar(255), #城市
province varchar(255), #省份
);
删除数据库表table
drop table “表名”
describe 表名 “查看表的信息”
21.修改table,增加列
添加:alter table 表名 add 列名 数据类型 [not null][default](默认的,可以不选)
删除:alter table 表名 drop 列名
22. 修改table 信息和表名
修改列的信息: alter table 表名 change 旧的列名 新的列名 数据类型
可以灵活的使用,只改变列名而不改变数据类型
修改表名 :alter table 表名 rename 新的表名
23.查看表的数据
select *from 表名 ,查看表中的所有的数据。
select col_name,col_name2,..........from table_name; 表中有许多的字段,会显示固定的
列。
插入数据
insert into 表名 values(值1,值2,.....) 会插入数据到所有的列中
insert into 表名 (列1,列2....) value(值1,值2,........) 会插入到特定列
例如 insert into book values(3);是会错的,默认要添加上所有的字段的内容。
24.where语法 where后更条件语句
select *from 表名 where 列名 运算符 值
例子:
select *from book where title=‘t’;
运算符 =,!=,<;>,>=,<=,betwin(两个范围内),like 安装某个模式查找
组合条件 and、or
select *from 表名 wherer col1 = xxx and col2 = xx or col3 >xx
25.null的判断 :用来判断是否为空,而不是用“=”
select *from 表名 where col_name is null
select *from 表名 where col_name is not null
26.select distinct(精确地)应用在查重中有重复的,只要把不一样出现一次,不需要列出各种
结果。去重
select distinct 列名 from 表名
27.使用order by对查询结果排序
1.按照单一的列表排序
select *from 表名 [where 字句] order by col_name [asc/desc] 二者选一个,升 序/降序
2.按照多列排序:
select *from 表名 [where 字句] order by col1 [asc/desc],col1 [asc/desc]...
不加asc或者desc时,默认asc
28.select结果使用limit截取
limit 可以查看指定行 的内容
select *from 表名 [where 字句] linit [offst,]rowCount
offset:查询结果的起始位置,第一条记录的其实是0 (可以不填)
rowCount:从offset位置开始,获取记录的条数
位置和条数 就是范围了
limit rowCount = limit 0,rowCount (offset可以不填,相当于0)
29.insert into 与select的组合
实现的功能,能够把另外表中的内容插入到 当前的表中
insert into 表名1 select 列1,列2 from 表名2
30.更新表数据
update 表名set 列名 = xxx [where 字句]
update 表名set 列名1 = xxx,列名1 = xxx... [where 字句]
31.where的in操作符
select *from 表名 where 列名 in(value1,Value...)
select *from 表名 where 列名 in(select 列名 from 表名)
列名 in(valuw1,value2 ...)等同 列名=value1 or 列名 = value2...
32.where 中的between (筛选的条件而已)
select *from where 列名 between值1 and 值2
select *from where 列名 notbetween值1 and 值2
33.where中的like的操作(字符串的模糊匹配)
select *from 表名 where 列名 [not] like pattren
pattern:匹配的模式
例如 ‘abc’ : 列完全是abc,才匹配
‘%abc’: 匹配abc为结尾的字符串
‘abc%’: 匹配以abc开头的字符串
‘%abc%’:匹配只要包含abc就可以