1、显示当前数据库服务器中的数据库列表:
SHOW DATABASES;
2、建立数据库:
CREATE DATABASE 库名;
CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;
3、建立数据表:
USE 库名;
CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
CREATE TABLE student (id INT(4),name VARCHAR(20),sex CHAR(1));
4、删除数据库:
DROP DATABASE 库名;
5、删除数据表:
DROP TABLE 表名;
6、将表中记录清空:
DELETE FROM 表名;
7、往表中插入记录:
INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:
UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:
LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;
10、导入.sql文件命令:
USE 数据库名;
SOURCE d:/mysql.sql;
11、命令行修改root密码:
mysql> USE mysql;
# 以下方法适用于mysql5.6及以下版本,5.7以上版本会报错,因为5.7以上版本没有password字段,而是改成了authentication_string字段
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root' AND Host = 'localhot'; # 方法一
# 以下方法适用于5.7以上版本
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host = 'localhot'; # 方法一
mysql> FLUSH PRIVILEGES;
mysql> set password for 'root'@'localhost' = password('新密码'); # 方法二
mysql> set password for root@'%' = password('新密码'); # 方法二
mysql> alter user 'root'@'%' IDENTIFIED BY '新密码'; # 方法三
mysql> alter user 'root'@'localhost' IDENTIFIED BY '新密码'; # 方法三
12、在数据表添加字段
ALTER TABLE `student` ADD `age` INT(4) COMMENT '学生年龄';
13、在数据表删除字段
ALTER TABLE student DROP age;
14、在数据表里修改字段名
ALTER TABLE student CHANGE age age_changed INT(4);
15、查看表结构
SHOW CREATE TABLE ig_user;
16、修改数据表表名
ALTER TALBE ig_user RENAME TO ig_users;
17、清空数据表字段内容
UPDATE table_name SET field_name = NULL;
18、添加PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` );
19、添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE (`column`);
20、添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX index_name ( `column` );
21、添加FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT ( `column`);
22、添加多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` );
23、复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表;
24、复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表;
25、复制表结构及数据到新表
SELECT * INTO 目标表名 FROM 源表名;(要求目标表不存在,因为在插入时会自动创建)
26、只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 即:让WHERE条件不成立.
27、创建外键
# 创建两张表,表引擎为 InnoDB
CREATE TABLE student
(
id int (11) primary key auto_increment,
name char(255),sex char(255),
age int(11)
) Engine = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
CREATE TABLE student_score
(
id int (11) primary key auto_increment,
class char(255),score char(255),
student_id int(11)
) Engine = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
# 添加外键,将 student_score 表的字段 student_id 设置为外键。s_id为外键名
ALTER TABLE student_score ADD CONSTRAINT s_id FOREIGN KEY(student_id) REFERENCES student(id);
28、删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
ALTER TABLE student_score DROP FOREIGN KEY s_id;
28、删除索引
# 注:索引不能直接修改,只能通过先删除了,再重新添加
DROP INDEX <索引名|index_name> ON <表名|table_name>
DROP INDEX sampleId ON sampleInfo;
DROP PRIMARY KEY ON <表名> # 表示删除表中的主键。一个表只有一个主键,主键也是一个索引。
DROP FOREIGN KEY fk_symbol ON <表名|table_name> # 表示删除外键。