1;连接数据库 查看数据的各种方式
MySQL -hlocalhost -uroot -p123456;
show databases; 列出所有数据库
use 数据库名; 选择数据库;
show full columns from 表名称; // 列出表中的所有列;
show index from 表格名; //列出表中索引;
show tables //列出当前数据库中的所有表名称;
show table status from 数据库名 //数据库的统计信息;
2:修改数据用户密码;
set password=password(‘111111’)//这样就把密码修改成了6个1;
3;创建一个数据库和数据库中表
create database 数据库名字[character set utf8[collate 排序规则字符集]]; //创建数据库
use数据库名; //连接数据库
create table 表格名 //创建表
(字段1 字段类型(大小)[character set 字符集[collate排序规则]]),
字段2 字段类型(大小),
........)[default charset=utf8];
===========================
查看数据库字符集
show variables like 'character_set_database'; //查看数据库的字符集;
show create database 数据库名; //查看数据库的字符集;
show variables like 'collation_database'; //查看数据库排序规则字符集;
show create table 表名; //查看表的编码;
show full columns from 表名; //查看字段编码;
===================================
修改数据库字符集
alter database 数据库名称 default character set 字符集[collate 排序规则字符集] //修改数据库字符集和排序规则字符集;
alter table 表格名 convert to character set 字符集[collate 排序规则字符集]; //把表默认的字符集和所有字符集(char.varchar.text)改为新的字符集
alter table 表格名称 default character set 字符集[collate 排序规则字符集]; //只是修改表的默认字符集和排序规则字符集
alter table 表格名称 change 字段名 字段名varchar(255) character set 字符集[collate 排序规则字符集]; //修改字段的字符集和排序规则字符集
===========================
删除
drop database 数据库名; //删除数据库
drop table 表格名称; //删除数据库中的表格名,
这里要注意的是;用drop 删除的是整个数据库 或者整个表;如果要删除表中的指定行或者指定列用delete;
数据表的更新和删除
更新修改给定条件数据库表格中的元素
update 表名 set 列1=值1,列2=值2,..... where 列=值;
删除指定值的哪一行数据
delete from 表名 where 列=值;
清空表格
truncate table 表格名;
修改表格
alter table 表格名称 rename 新表格名称; //修改表格名称
alter table 表格名称 add column 列名称 类型; //给他表格添加一列;
alter table 表格名称 drop column name //删除表格一列
alter table 表名 modify 列名 类型
alter table 表名 change 列名 新列名 类型 ; //修改表列类型;
alter table 表名 change column 列名 新列名 类型; //修改表列名;
日期和时间类型
date 日期型
time 时间值
year 年
datetime 混合日期和时间值;
timestamp 混合日期和时间值和时间戳
字符串类型
char 定长字符串 0~255
varchar 变长字符串;0~65535
tinyblob 不超过255个字符的二进制字符串 0~255
tinytext 短文本字符串 0~255 个字节
blob 二进制形式的长文本数据 0~65535
text 长文本数据 0~65535;
mediumblob 中等长度的二进制形式的文本数据 0~16777215;
mediumtext 中等长度的文本数据 0~16777215 个字节
longblob 极大文本的二进制数据 0~4294967295
longtext 极大文本数据 0~4294967295;
创建一个数据库
create database mytata character set utf8;
创建一个表
create table mytable(
ID tinyint not null auto_increment default character set utf8;
primary key(id) //把ID设为主键
)
auto_increment 自动增长
select 查询
select 列1,列2.... from 表格名;
select * from 表格名;
where语句
满足指定标准的记录
= != > < >= <=
between //在某个范围内;
like 搜索某种模式
in 指定针对某个列的多个可能值
and 第一个条件和第二个条件都成立;
or 第一个条件和第二个条件中只要有一个成立
可以把and 和 or 结合起来用括号区分;
order by 对结果集进行排序
order by 对结果集按照一个列或者多个列进排序;
order by 默认按照升序对记录进行排序 使用desc关键字倒序;
limit 指定记录数
select * from 表名 limit 5,10; //表示从第六行开始向后查找10条记录;
select * from 表名 limit 5; // 查出来5行
distinct 返回唯一不同的值
select distinct 列1,列2 from 表名;
where 子句
like 搜索列中的指定模式
select * from 表名 where 列(not) like '(%) 值(%)';
通配符
% 匹配所有字符
_匹配一个字符
正则表达式
(not)regexp not表示不满足条件的
规定多个值
(not) in (value1,value2......);
范围之内
between 值1 and 值2;
null 特殊处理
is (not) null;
join 连接
表示两个或者多个表的行结合起来,基于这些表之间的共同字段
inner join 如果表中有至少一个匹配 则返回行
left join 即使右边表中没有匹配 也从左表返回所有的行;
right join 即使左边表没有匹配,也从右表返回所有的行
using子句
复制表
创建新表并复制旧表结构
create table newtable like oldtable;
将旧数据表中的数据复制到新数据表中,且结构相同
insert newtable select * from oldtable;
结构不同
insert newtable (字段1,字段2...) select 字段1,字段2 ... from oldtable