数据库概念,CMD模式下MySql登陆退出、数据库、数据表、数据的增删改查
数据库基本概念
1.数据库服务器
安装了数据库软件的电脑,就是“数据库服务器”
安装了Apache软件的电脑,就是“WWW服务器”
2.DBMS(Database Management System)
数据库管理系统,管理数据的大型软件
Access:是微软的小型数据库
SQL Server:是微软的大中型数据库
Oracle:是美国甲骨文公司的产品。大型、或超大型数据库
MySql:原始瑞典的AB公司产品。后来被甲骨文公司收购,适合中小型网站数据库
3.数据库
4.数据表
5.记录、字段(数据表的每一列就是一个字段)、数据
数据库服务器可以看成是一个文件柜,数据库可以看成文件柜中的小格子,数据表可以看成是一张记录数据的表单,储存数据的真正地方
MySql登陆和退出——在CMD模式下操作
1.登陆到MySql服务器
语法:mysql -h主机名 -u用户名 -p密码
登陆服务器是要先把MySql主程序目录设置为系统环境变量(在电脑属性-高级系统设置-环境变量-Path里面设置)
2.退出MySql客户端
语法:exit
MySql数据库操作
1.显示数据库
语法:show databases;
2.创建数据库
语法:create database [if not exists] 数据库名 [charset utf8];
if not exists判断这个数据库名是否存在避免报错,可有可无
数据库名a-z、0-9、_不区分大小写,不能纯数字
charset utf8设置字符集为utf8,没有中划线,可有可无,没有则为默认的字符集
3.删除数据库
语法:drop database [if exists] 数据库名;
if exists判断数据库是否存在,存在就删除,避免报错,可有可无
4.查看数据库的字符集
语法:show create database 数据库名;
显示创建数据库的SQL语句
5.修改数据库的字符集
语法:alter database 数据库名 default character set utf8;
MySql数据表操作
要操作数据表,首先要选择数据库,表示要操作哪个数据库里面的数据表
1.选择数据库
语法:use 数据库名;
2.显示所选择数据库的所有的数据表
语法:show tables;
3.创建数据表
语法:create table 数据表名(列的名称 列的数据类型 列的属性,列的名称 列的类型 列的属性,……);
数据表是多个列组成,名称、类型、属性用空格隔开,多个属性用空格隔开,多列用逗号隔开
列的类型如:tinyint、int、bigint、char、varchar、text、date、time等
列数据类型:类型名[(长度n)] [unsigned] [zerofill]
长度n:表示该数字上的“显示形式上的长度”
unsigned:设定为“无符号”,则真是取值范围几乎翻倍
zerofill:填充0,如果数字长度不够指定长度则在前面填充0
列的属性如:
not null | null:该列是否可以为空
default 默认值:指该列的默认值
默认值可以是字符串也可以为整型
auto_increment:该列为自动增长型,要求该列必须为整型,一个表只能有一个该属性
primarykey:主键。指定该列的值具有唯一性,主键所在的列不能为空,只能有一个该属性
id字段的属性必须有不能为空,自动增长,主键属性
4.删除数据表
语法:drop table 数据表名;
5.修改数据表
语法:alter table 数据表名 ……
使用alter table命令,非常复杂看懂就行
6.显示数据表的结构
语法:describe 数据表名;
MySql数据类型
1.整型
tinyint 最小型整数 0~255或(-128~+127) 占1个字节
smallint 小型整数 0~65535(同上) 占2个字节
mediumint 中型整数 0~1677万(同上) 占3个字节
int 一般整数 0~21亿 (同上) 占4个字节
bigint 最大整数 0~42亿 (同上) 占8个字节
2.浮点型
flout(长度,小数位) 单精度(精确到小数点后7位) 长度是整数位和小数位加起来的,如长度为3小数位为1,则最大值为99.9
double(长度,小数位) 双精度(精确到小数点后15位)
3.日期型
date 格式为:"YYYY-mm-dd"
4.时间型
time 格式为:"00:00:00"
5.字符型
char(M) 0~255 固定长度的字符串 如:手机号、邮编、身份证等
varchar(M) 0~65535可变长度的字符串 如:新闻标题、家庭地址等
6.文本型
tinytext 0~255 小型文本
text 0~1670万 中型文本
longtext 0~42亿 大型文本
MySql数据操作
1.增加数据
语法:insert into 数据表名(字段1,字段2,……)value(值1,值2,……)
字段列表和值列表一一对应,值的类型要与字段类型一样
在增加数据的时候要设置返回数据的字符集,要不然写入的汉字会出现乱码
语法:set names gbk;
2.删除数据
语法:delete from 表单名 [where 条件]
如果没有条件,则会把这个表中的数据全部删除,条件可以用and、or、not连接
3.修改记录
语法:update 数据表名 set 字段1=新值1,字段2=新值2,…… [where 条件];
条件如果没有,则会把这个字段所有数据都改动
4.查询数据
语法:select 字段列表|* form 数据表名 [where 条件] [order by 字段排序] [limit 限制输出];
查询多个字段数据用逗号隔开,*号代表查询所有字段的数据
字段排序:order by 字段名 [asc(默认升序) | desc(降序)]
限制输出:limit 指定行数开始返回数据,返回数据的条数