一、常用操作指令
1、登录
Mysql -h主机地址 -u用户名 -p
2、退出
Quit / exit
3、显示所有数据库
Show databases;
4、创建数据库
语法:Create database 数据库名;
#创建数据库时可以指定编码不影响其他的数据库,无须重启数据库
#设置GBK编码
Create database 数据库名 default character set gbk collate gbk_chinese_ci;
#设置UTF-8编码
Create database 数据库名 default character set utf8 collate utf8_bin;
下面创建数据库test1,指定编码为gbk!
TIPS:
1、已经存在的数据库不得再次创建
2、在创建数据库之前加个判断,如果存在先删除
判断语法:
If()begin
#sql语句
End;
完整代码
Drop database If exists 数据库名;
存在test2数据库,就删除!
然后再创建test2数据库:
7、删除数据库
语法: Drop database 数据库名;
8、创建表
语法:
Create table 表名(列1 数据类型 [,列2 数据类型,列3 数据类型,……]);
说明:[] 里面的表示可有可无!有几列就写几列!
下面以下表为例在数据库test1中创建 学生表:
:
create table XueSheng(
xueHao varchar(6),
xingMing varchar(16),
xingBie char(2),
chuShengRiQi date,
nianLing int,
yuE numeric(8,2), //最多8个字符(不包括小数点),小数保留2位!
Tel text
);
9、删除
语法:
Drop table 表名; 可以加判断
Drop table if exists 表名;
10、显示表结构
语法:
Describe 表名;
11、修改表
Alter table 表名 add 列名 数据类型;
12、数据CRUD操作。
CRUD是指在做计算处理时的增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。
二、管理和使用数据库的步骤
1、创建数据库 (上面已创建数据库test1)
2、创建表(创建保存数据的容器,记得先切换数据库) ( use test1;)
类似于EXCEL表格,先设计列,指明数据类型,就可以放入数据。
TIPS:
1、列也叫字段、元祖;行叫记录。
2、数据库中
数值型:int、short、smallint、long、bigint、float、momey、decimal、numeric
Numeric 保存小数需要设置2个参数,第一个参数是包含小数位在内的多少个数字(MYSQL中不包含小数点),第二个参数为小数位数
Numeric(8,2) 最大只能保存999999.99
字符串型:char(char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。 )、varchar(存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。保存字符串前后空格会自动去掉)、text(保存的字符串信息不限大小内容类型不限)
布尔类型:bit、bealean、bool
日期:date、datetime 只有2种标准格式2016-10-26 11:26:11
或2016/10/26 11:26:11
时间戳:timestrip,一般也会用int代替
3、数据操作:
3.1)插入数据
语法:Insert [into] 表名(列1[,列2,……]) values(值1[,值2,……]);
1)插入数据时,只要不是数值型、布尔型,都必须加上单引号;
2)插入数据时,列和值的顺序和数据类型都必须保持一致;
3)插入数据时可以省略所有列,那么代表所有列都必须插入值;
4)插入时,列和值的对应顺序可以随便换;
5)对于允许为空的列,插入时可以省略;
下面我们就来插入上面的学生表中的数据:看图
查找表看一下结果:
同样把剩下的数据也插入表中:
3.2)查询数据
select 列1[,列2,……] from 表名;
Select * from 表名; # *代表表中所有的列,用于查询
1)取数据时,列的顺序也可以随便换,不会影响表中的数据,这时候数据保存在内存中;
2)查询别名
Select 列1 as 别名,列2 别名 from 表名;
3.3)修改数据
语法:
Update 表名 set 列1=新值1[,列2=新值2,……];
默认会修改掉表中的所有的数据。所以修改表中数据之间一定要想一想要不要加条件。
Update 表名 set 列1=新值1[,列2=新值2,……] where 1=1;
多个条件可以使用 and 或 or 进行组合
下面我们给李四的卡里重置100元:看图! yue中的数据变为110.23
现在把性别为男并且年龄小于20的同学的充值卡里的余额调为300元!哈哈爽,看图!
3.4)删除
Delete [from] 表名;
默认也会删除表中所有数据,那么删除之前一定要想一想要不要加条件一样是在后面加where。
Truncate table 表名; 详细后面介绍
delete from xuesheng where xingbie='w';
Truncate table 表名; 详细后面介绍
三、系统数据库介绍
Infomation_schema 信息模版,保存数据库架构信息。
Mysql 保存数据库登录的帐号、授权等信息。