mysql基本常识整理

一.数据库操作

1.查看数据库:

mysql> show databases; mysql> show databases \G #以行的方式显示 mysql> show table status from test where name='student' \G

2.创建一个名为HA的数据库

mysql> create database HA;

3.删除数据库:

mysql> drop database HA-test

二.表操作:

1.查看表

mysql> show tables;

2.创建表

mysql> create table student(id int(20),name char(40),age int);语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);

3.查看表的结构

mysql> desc student;

4.查看创建语句时的过程

mysql> show create table student \G

5.创建数据库表可以指定表的默认存储引擎和字符集

mysql> create table student2(id int(20),name char(40),age int)ENGINE=MyISAM DEFAULT CHARSET=utf8;

6.删除表

mysql> drop table student2;

7.studen表名修改为students

mysql>alter table student rename students;

8.将name字段 改成 stname

mysql> alter table students change name stname char(20);

9.添加字段

mysql> alter table students add sex enum('M','W');语法:alter table 表名 add 字段名 字段类型;

10.指定位置添加字段:

mysql> alter table students add uid int(10) first;在第一列添加一个字段; mysql> alter table students add address char(40) after age;在age后面添加一个address字段:

11.删除表中字段:

mysql> alter table students drop address;语法:alter table 表名 drop 字段名 ;

三.关于记录的操作

1.查询表所有

mysql> select * from students;*表示所有

2.只查询表中某个字段的内容

mysql> select name from student;

3.查看某个数据库下指定的表内容

mysql> select *from HA.student; 数据库名.表名 语法:SELECT 字段 FROM 数据库名.表名;

4.添加记录

mysql> insert into students values(1,'zhangs',21);语法:insert into 表名values (字段值1,字段值2, 字段值3);

5.同时插入多条记录,使用,分开

mysql> insert into student values(2,'lis',24),(3,'wange',26);

6.删除记录

mysql> delete from students where id=3;删除id为3的行

7.更新记录

mysql> update students set sex='M' where id=2; 从id 为2 的 sex 改成M mysql> update students set age=10 where id=2 ; 从id为2 的 age 改成10 mysql> update students set id=2; 所有的都变为2

8.同时更新多个字段

mysql> update students set stname='zhangsan',age=21 where uid=1; 从uid 为1 的

四.SQL基础条件查询语句

1.查询STUDENTS表中的NAME,AGE

mysql> select name,age from students;

2.查询id > 3并且age >25 的记录

mysql> select id,name,age from students where id>3 and age>25;

3.查询name=lis 并且 age = 21 或者age = 10 的记录

mysql> select * from students where name='lis' and (age=21 or age=10);

五.模糊查询:

1.查询表中name 字段li 开头的记录

mysql> select * from student where name like 'li%';

2.查询表中 有is 并且有a的记录

mysql>select * from student where name like '%is%' and name like '%a%'; +------+------------+------+ | id | name | age | +------+------------+------+ | 7 | siswaisaaa | 20 | +------+------------+------+ 1 row in set (0.00 sec)

3.查看name 为ZHANGS 的记录 大写Mysql查询默认是不区分大小写的

mysql> select name from students where binary name='ZHANGS';

查询id 升序查询

mysql> select distinct id from students order by id;

4.查询id降序查询

mysql> select distinct id,name from students order by id desc;### 查询id 降序查询

六.mysql 设置密码

方法1; mysql> set password for root@localhost = password('123456');
方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges;刷新

七.mysql备份

1.mysqldump

[root@xuegod210 ~]# mysqldump -uroot -p123456 HA > HA.dump 备份完整数据
[root@xuegod210 ~]# mysqldump -uroot -p123456 --no-data --databases HA > ha.dump 备份表结构(没有完整数据)

2.导入数据

mysql> source /root/books.sql; ##导入表时,不需要重新,创建表。 先use 库

八.修改mysql的默认引擎

1.看你的mysql现在已提供什么存储引擎:

mysql> show engines;

2.看你的mysql当前默认的存储引擎:

mysql> show variables like '%storage_engine%'; alter table student engine=innodb;

3修改数据库引擎:

mysql> alter table student engine=innodb; 修改表的引擎

九.mysql主从原理

主从复制如何工作

整体上来说,复制有3 个步骤:
(1) master 将改发记录到二迚制日志(binary log)中(这些记录叨做二迚制日志事件,binarylog events);
(2) slave 将master 的binary log events 拷贝到它的中继日志(relay log);
(3) slave 重做中继日志中的事件,修改salve 上的数据;