前言:
MySQL在工作中是最常用的数据库,但在使用Django和Flask的时候,都是使用ORM进行操作,除了select语句外,其他的SQL语句操作MySQL的能力没有啥提高,为了解决这个问题, 提高自己的能力,时不时会练习使用SQL语句.
创建表,增加/删除/修改表字段:
SQL语句创建MySQL数据表:
create table Yu( id int(11) not null auto_increment, status varchar(128) default 0, primary key(id));
创建表结构如下,手写SQL的时候,习惯换行了.
使用SQL语句增加表字段:
alter table Yu add time timestamp default current_timestamp;
也就是:
alter table tablename add 字段名 数据类型 默认值(可选);
使用SQL删除表字段.
alter table Yu drop time;
也就是
alter table tablename drop 字段名;
数据库的备份与恢复:
备份数据库:
使用whereis mysql:得到mysql相关的信息:
python@ubuntu:~$ whereis mysql
mysql: /usr/bin/mysql
/usr/lib/mysql
/etc/mysql
/usr/include/mysql
/usr/share/mysql
/usr/share/man/man1/mysql.1.gz
使用mysqldump命令进行备份:
注意事项:
一定要进入到/etc/mysql目录下执行:不然会出错:
如果普通用户失败,可以切换到root用户或者使用sudo
导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
mysqldump -uroot -p dbname > dbname .sql
敲回车后会提示输入密码:
只导出表结构:
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
mysqldump -uroot -p -d dbname > dbname .sql
恢复数据库:
建立同名数据库.
use databasename;(这一步很重要,如果没有这一步会提示'No database selected')
使用source 路径/databasename.sql;
常用的SQL语句:
插入数值到数据表:
insert into tablename (table1,table2) values(value1,value2)
获取当前数据库时间:
select now();
一个字段取值范围为多个值:
select * from students where id in (1,2,4);
# id在1,2,4里取一个
查看表的创建语句:
show create table tablename;
# 这里table一定要加上,不然报错
远程连接MySQL:
MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”;
mysql -h 192.168.5.116 -P 3306 -u root -p123456
#-h 表示数据库所在的ip
#-P 端口号,大写P,port
#-p 小写p,表示mysql密码