mysql 常用命令行语句

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>    # 表示删除外键。

你可能感兴趣的:(mysql,数据库,sql)