查看数据库版本
SELECT VERSION();
查看登录用户名
SELECT USER();
连接数据库
sudo service mysql start
mysql -hlocalhost -uroot -P3306 -p
查看数据库字符集编码格式
show variables like 'character%';
修改数据库字符集编码格式
alter database yjy charset gbk;
匹配模式查看数据库
show databases like "y%";
// 单个字符用_,多个字符用%
表的修改
CREATE TABLE <表名> ( <字段1>[属性],<字段2>[属性] ) charset utf8;
CREATE TABLE <新表名> LIKE <旧表名>; //根据旧表的数据结构复制新表
CREATE TABLE id_cre (id INT PRIMARY KEY AUTO_INCREMENT,<其他字段>[属性],... );
DESC <表名>;
或者
SHOW COLUMNS FROM <表名>;
RENAME TABLE yyy TO yyy_new;
//或者
ALTER TABLE yyy RENAME yyy_new;
DROP TABLE yyy; // 同删除数据库的语法
ALTER TABLE <表名> ADD COLUMN CHAR(20) DEFAULT null;
ALTER TABLE <表名> ADD sex ENMU('male','female') ; //可以没有约束 ,使用enmu类型是,必须带引号
ALTER TABLE <表名> ADD test1 INT(4) DEFAULT null AFTER <表的某一列>; // 定位插入字段的位置:在某一列后面插入
ALTER TABLE <表名> ADD test2 INT(4) FIRST; // first : 在最前面插入
ALTER TABLE <表名> CHARSET utf8; // 修改表的编码格式
ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE <表名> DROP <列名>;
ALTER TABLE <表名> CHANGE <原列名> <新列名> 数据类型 约束;
ALTER TABLE <表名> MODIFY <列名> 新数据类型;
- 新建的表不能插入中文,是因为character的编码格式问题
ALTER TABLE <表名> CONVERT TO CHARACTER TO utf8;
对表的内容修改
UPDATE <表名> SET 列1 = 值1,列2 - 值2 WHERE 条件;
eg: UPDATE employee SET age = 24, height = 92 WHERE name = 'yyy';
DELETE FROM <表名> WHERE 条件;
eg: DELETE FROM employe WHERE age > 30;
// 如果没有条件,表示整张表的数据全部删除
导入数据
LOAD DATA INFILE <文件的绝对路径> INTO TABLE <表名>;
LOAD DATA INFILE <文件的绝对路径> INTO TABLE <表名> LINES TERMINATED BY '\r\n'; // windows中的编辑器
LOAD DATA INFILE <文件的绝对路径> INTO TABLE <表名> LINES TERMINATED BY '\r'; // max os中的编辑器
导出数据
SELECT * INTO OUTFILE <文件路径和文件名> FROM <表名>;
数据库备份
mysqldump -uroot (数据库名) > bak.sql;
数据库恢复
mysql -uroot (数据库名) < bak.sql;