mysql数据库用source命令导入.sql文件,执行SQL语句

野性酷女 2022-08-04 15:46 422阅读 0赞

一、准备.sql文件

下面是我做局域网QQ聊天系统写好的一个qq.sql文件,文件内容如下,在通过执行这个文件,我创建了6个数据库表:

  1. -- 存放所有已经注册用户的信息
  2. CREATE TABLE tbl_register_users ( name VARCHAR(20) NOT NULL PRIMARY KEY, -- 主键 passwd VARCHAR(20) NOT NULL, socketfd INT NOT NULL, is_online TINYINT NOT NULL,-- 是否在线 0 不在线 1 在线 is_used TINYINT NOT NULL, -- 该文件描述符现在是否被用 0 没有被占用 1 被占有 securiety VARCHAR(30) NOT NULL, -- 密保 isOfflineMsg TINYINT NOT NULL -- 0 没有, 1 有离线消息 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  3. -- 存放被禁言的用户,当禁言时间到了之后,就要把用户从禁言列表里面删除
  4. CREATE TABLE tbl_gag_users ( gag_name VARCHAR(20) NOT NULL PRIMARY KEY, -- 主键 gag_minutes INT NOT NULL -- 禁言时间 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  5. -- 存放被管理员删除的用户,已经被加入该列表的用户,不能再注册
  6. CREATE TABLE tbl_del_users ( del_name VARCHAR(20) NOT NULL PRIMARY KEY -- 主键 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  7. -- 存放某个用户和他的好友的信息
  8. CREATE TABLE tbl_users_friends ( name VARCHAR(20) NOT NULL , friend_name VARCHAR(20) NOT NULL, CONSTRAINT pk_friend_name PRIMARY KEY (name,friend_name) -- 组合键作为主键 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  9. -- 存放某个用户和他的QQ群的信息
  10. CREATE TABLE tbl_users_groups ( name VARCHAR(20) NOT NULL , group_name VARCHAR(20) NOT NULL, CONSTRAINT pk_group_name PRIMARY KEY (name,group_name) -- 组合键作为主键 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  11. -- 存放敏感词的信息
  12. CREATE TABLE tbl_sensitive_words ( sensitive_word VARCHAR(30) NOT NULL PRIMARY KEY -- 主键 )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  13. -- 超级用户数据库表
  14. CREATE TABLE tbl_super_users ( super_name VARCHAR(20) NOT NULL PRIMARY KEY, -- 主键 passwd VARCHAR(20) NOT NULL )ENGINE=InnoDB,CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
  15. INSERT INTO tbl_sensitive_words VALUES('ddd'),('ssss'),('eee');

二、在命令行下登录到mysql数据库下,创建数据库。

  1. nii@mmch:~/lanqq/code$ mysql -uroot -p //登录到数据库
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 2
  5. Server version: 5.6.25-0ubuntu0.15.04.1 (Ubuntu)
  6. Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql> CREATE DATABASE test_db; //创建数据库表test_db
  12. Query OK, 1 row affected (0.42 sec)
  13. mysql> USE test_db; //默认数据库更改为test_db
  14. Database changed
  15. mysql> source /home/nii/code/qq.sql; //导入qq.sql文件
  16. Query OK, 0 rows affected (0.32 sec)
  17. Query OK, 0 rows affected (0.09 sec)
  18. Query OK, 0 rows affected (0.09 sec)
  19. Query OK, 0 rows affected (0.12 sec)
  20. Query OK, 0 rows affected (0.09 sec)
  21. Query OK, 0 rows affected (0.02 sec) //导入成功

三、查看数据库是否导入成功。

  1. mysql> SHOW TABLES FROM test_db; //查看数据库下面所有的数据库表 +---------------------+
  2. | Tables_in_test_db | +---------------------+
  3. | tbl_del_users |
  4. | tbl_gag_users |
  5. | tbl_register_users |
  6. | tbl_sensitive_words |
  7. | tbl_users_friends |
  8. | tbl_users_groups | +---------------------+
  9. 6 rows in set (0.00 sec)
  10. mysql> DESC tbl_register_users; //查看tbl_register_users数据库表结构 +-----------+-------------+------+-----+---------+-------+
  11. | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+
  12. | name | varchar(20) | NO | PRI | NULL | |
  13. | passwd | varchar(20) | NO | | NULL | |
  14. | socketfd | int(11) | NO | | NULL | |
  15. | is_online | tinyint(4) | NO | | NULL | | | is_used | tinyint(4) | NO | | NULL | |
  16. +-----------+-------------+------+-----+---------+-------+

发表评论

表情:
评论列表 (有 0 条评论,422人围观)

还没有评论,来说两句吧...

相关阅读