mysql数据库学习

数据学习:

数值类型
tinyint(m)    1B/-128~127
smallint(m)    2B/-32768~32767
mediumint(m)    3B/-8388608~8388607
int(m)        4B/-2147483648~2146473647
bigint(m)    8B/-9.22*10^18~9.22*10^18


浮点类型
float(m,d)    4B/8位精度数,m为小数点前,d为小数点后位数。
double(m,d)    8B/16...
decimal(m,d)    定点类型数据精确值,m为全不位数,d为小数点后位数,m>d,0<d<30<m<65


字符串类型
char(n)        固定长度字符串,最大255个字符
varchar(n)    可变长度字符串,最大65535个字符
tinytext    短文本字符串,最多255个字符
text        长文本数据,最大65535个字符
mediumtext    中等长队文本数据,最大2^24-1个字符
longtext    极大文本数据,最大2^32-1个字符


日期和时间类型
date        YYYY-MM-DD/1000-01-01/9999-12-31
time        HH:MM:SS/"-838:59:59"/"838:59:59"
year        YYYY/1901/21 55
datetime    YYYY-MM-DD HH:MM:SS/1000-01-01 00:00:00/9999-12-31 23:59:59
timestamp    YYYY-MM-DD HH:MM:SS/1970-01-01 00:00:00/2037 ***/混合值,时间戳

 


mysql -uroot -p

create database database1 character set utf8;

show databases;

use database1;

create table user(
>id int(10) not null primary key auto_increment,
>name varchar(50) not null,
>age int,
>income float,
>addr varchar(100) not null,
>jobs varchar(50) not null,
>birday date);


PS:怕出错可以编辑为文本文件后执行:use database1>source e:/create_user.sql;


create table tab_new like tab_old;


create table tab_new as select * from tab_old;

 

insert into user(name,age,income) values('xinping',25,3000);


select * from user;


update user set income = 9000 where id = 1;


delete from user where id = 2;

 

 

alter table user add homeaddress varchar(100);


alter table user change homeaddress homeaddr varchar(80);


alter table user dorp homeaddr;


alter table user rename users;


dorp table users;


dortp database database1;

 

mysql 的备份与恢复
mysqldump -uroot -pxxxx discuz    备份discuz库
mysqldump -uroot -pxxxx discuz > /data/discuz.sql   备份discuz库文件为/data/discuz.sql   

vim /data/discuz.sql  查看备份的文件内容

mysql -uroot -p discuz < /data/discuz.sql   恢复备份的命令


mysqldump -uroot -p discuz pre_forum_post > /data/post.sq  备份一个表

mysql -uroot -p discuz < /data/post.sql      恢复一个表  略有不同

mysqldump -uroot --default-character-set=gbk -p discuz pre_forum_post > /data/post.sql  指定字符集后备份mysql  (推荐备份使用格式)

mysql -uroot --default-character-set=gbk -p discuz < /data/post.sql   使用指定字符集恢复mysql备份文件  (推荐使用,防止恢复后乱码)

 

 

mysql配置简介
vim /etc/my.cnf    配置文件存放目录


port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

 

后面添加:
interactive_timeout = 8
wait timeout = 8

long_query_time = 1
log_slow_queries = /data/mysql/slow.log


然后保存即可

忘记mysql  root用户密码解决办法
mysql -uroot   一般登陆操作(未设置密码)
mysqladmin -uroot password 'xxxxxxxx'  设置密码mysql -uroot -pxxxxxxxx   使用密码登陆

 


忘记密码后的操作:
vim /etc/my.cnf

log_slow_queries = /data/mysql/slow.log   后面添加一行:

skip-grant

 

保存退出

/etc/init.d/mysqld restart
mysql   进入
use mysql  使用mysql 库
update user set password=password('') where user='root';
select * from user where user='root'\G;
quit
然后vim /etc/my.cnf
去掉 skip-grant
保存  
重启后重新登陆

 

 

mysql常用操作

mysql -uroot -p   本地登陆mysql
mysql -uroot -h192.168.0.130 -P3306 -pxxxxxxxx  远程登陆其他主机mysql
mysql -uroot -h127.0.0.1 -P3306  登陆远程主机
grant all on *.* to 'root'@'192.168.0.251'(客户机地址) identified by '123aaa';  添加允许

show databases;   查看有哪些库

use discuz    
use test        切换库


select database();  查看当前在那个库

select user();         查看当前用户

select version();     查看数据库版本信息

库-->表-->行-->字段  


show tables;     查看表

desc pre_ucenter_vars;  查看行,字段
show create table pre_ucenter_vars\G;  查看表构成

show create table pre_forum_post\G;  查看表构成


desc pre_forum_post; 查看表段

create database aming; 创建库

use aming;  连接表

create table tb1 (`id` int(4), `name` char(40)) ENGINE=MyISAM DEFAULT CHARSET=gbk;   创建新的表
show tables;  查看表

desc tb1;   查看表tb1

show create table tb1\G;   查看tb1表信息
insert into tb1 values(1, 'aming');  添加(插入)表单

select * from tb1;  查看表信息

insert into tb1 (`id`)  values(2);   只插入一个字段行
insert into tb1 (`id`)  values(3);   只插入一个字段行

insert into tb1 (`id`,`name`)  values('4','user'); 同时插入几个字段行

update tb1 set id=5 where name = '55';  更新行

delete from tb1 where name='55'; 删除一个行

truncate table aming.tb1;  清空aming库的tb1表

drop table tb1;  删除表

drop database aming;  删除库

show databases;  查看所有库

 

 

授权 创建新的用户
grant all on discuz.* to 'user1'@'%' identified by 'dralkdfjlajfdljlkdjf';  授权(创建)用户在本机下可操所有IP 下的  discuz库所有内容,以xxxx为登陆密码

flush privileges;  刷新权限后上面命令才生效

show processlist; 查看当前数据库队列(进程列表)

show variables;  查看数据库变量

set global max_connections=200;  不重启数据库直接设置该参数值为200


show variables like 'max_connec%';  过滤显示该参数值,%为通配符

show status;  查看状态

show status like '%running';  显示尾綴为running的参数状态  %通配符
mysql错误日志目录由vim /etc/init.d/mysqld 文件下定义   
在/data/mysql  目录下
[hostname].err  即错误日志

repair table discuz.pre_forum_post;  修复该表

 


 


 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值