1. 安装mysql基础操作

1.数据库基础操作
mysql -u用户名 -p密码 [--tee=d:\mysql.log]    登录mysql客户端    
show databases;            查看所有的数据库    
use database;            切换到某数据库    
show tables;            查看某数据库下面的所有表    
\s 或 status                查看数据库的状态    
2.数据库操作
show databases;                    查看数据库    
create database 数据库名;        创建数据库        
drop database 数据库名;            删除数据库    
show create database 数据库名    查看数据库创建情况    
show create table 表名            查看表的创建情况    
例:create database test default character set utf8;    
create database jdbc default charset=utf8;    
create database if not exists test default charset utf8 collate utf8_general_ci;    
3.数据表操作
show tables;            查看数据表    
create table 表名(    
int  属性,    
name 属性,    
age 属性    
)                                        创建数据表    
drop table 表名                            删除数据表    
rename table old表名 to new表名            修改数据表表名    
desc 表名                                查看表结构    
forexample:    
CREATE TABLE IF NOT EXISTS `member` (    
    `id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '编号',    
    `user` varchar(20) NOT NULL,    
    `passwd` char(40) NOT NULL,    
PRIMARY KEY (`id`)    
) ENGINE=InnoDB DEFAULT CHARSET=utf8;    
4.数据库设计
a)字段类型    
    数值:int,float    
    字符:varchar,char,text,logntext    
    日期:date,datetime,time    
b)字段属性
    unsigned    
    zerofill    
    auto_increment    
    null    
    not null    
    default    

    alter table 表名 default character set 字符集            //修改表的默认字符集    
    alter table 表名 CONVERT TO CHARACTER SET charset_name;    //修改表的字符集包括列    
5.字符集设置
my.ini    
[mysqld]服务器    
character-set-server = utf8                        //服务器、数据库和表字符集    
collation-server = utf8_general_ci                //服务器、数据库和表校验字符集    
[mysql]客户端    
default-character-set=utf8                        //客户端和连接字符集    
6.表字段索引
desc select * from 表名 where field = ''\G;    
创建带索引的表:    
create table t1(    
    id int unsigned not null auto_increment,    
    name varchar(20),    
    primary key (id),    
    index in_name(name) || key(name)    
)engine=InnoDB default character set utf8;    

show index from table_name;    //查看索引情况    
?[参数]    //查看某帮助信息    

普通索引:1.添加     
                alter table 表名 add index in_name(field);    
                alter table 表名 add key(field);    
        2.删除     
                alter table 表名 drop index in_name;    
                a;ter table 表名 drop key(field)    
7.表字段维护
1.添加字段    
alter table 表名 add field 属性 after field;    

2.修改字段    
alter table 表名 modify field 属性            

3.删除字段    
alter table 表名 drop field    

4.修改字段名    
alter table 表名 change oldfield newfield 属性    
8.mysql操作语句
1.concat()    
for: select id,name,concat(id,'--',name) as newfield from table_name;    

2.rand()    
for: select id,name,rand()*2 as newfield from table_name;    

3.sum()    

4.avg()    

5.max()    

6.min()    

7.distinct 去重复    
select distinct * from table_name;     

7.分组聚合    
for: 
    a)select name,count(id) as newfield from table_name group by name order by newfield asc;    
    b)select name,count(id) as newfield from table_name group by name having newfield>5 order by newfield asc;    

8.多表查询    
    a)普通多表查询    
        for: select name,count(name) as num  from user as u,post as p where u.id=p.u_id group by u.name;    
    b)嵌套查询-多表    
        for:select name from user where id in (select distinct u_id from post);    
    c)左连接查询-多表    
        for:select a.name,b.title from user as a left join post as b on a.id=b.u_id;    


drop table if exists p_user;    
create table p_user(    
    id bigint(20) unsigned not null auto_increment primary key comment '编号',    
    u_name varchar(20) null comment '姓名',    
    u_spell text comment '姓名拼音',    
    key u_name(u_name)    
)engine=InnoDB default charset=utf8 comment='人员表';    
desc p_user;    
show create table p_user;        

DROP TABLE IF EXISTS `tdl_workshop_daily_two_config`;
CREATE TABLE IF NOT EXISTS `tdl_workshop_daily_two_config`(    
    `twt_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' PRIMARY KEY COMMENT '主键',    
    `twd_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '主表主键',    
    `did` BIGINT(20) UNSIGNED NULL COMMENT '值班地点'    
)ENGINE=MYISAM ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8 COMMENT='车间日报配置主表-值班地点'        


mysql更改密码:
1. update mysql.user set password = password('newpasswd') where user = '用户名';    //修改密码    
2. flush privileges;                //刷新数据库    
或    
3. grant select,insert,update,delete,show_db on 数据库名.* to 用户名@"主机名" Identified by "密码";               

mysqlcheck使用: 
1. mysqlcheck -r -u root -p -A  修复所有的表    
2. mysqlcheck -r -u root -p db_name table_name  修复某数据库的某表    

CREATE DATABASE db_name    
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;    

数据库事物:
1.原子性:不可分割。
2.一致性:事物必须使数据库从一个一致性状态变换到另一个一致性状态。
3.隔离性:不被其他事物干扰。
4.持久性:一个事物一旦被提交,它对数据库数据的改变就是永久性的。

问题:
1.脏读:
2.不可重复读
3.幻读

results matching ""

    No results matching ""

    results matching ""

      No results matching ""