发新话题
打印

MySql学习笔记(创建,查询,修改,删除)

MySql学习笔记(创建,查询,修改,删除)

一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。但MYSQL旧版本不支持。mysql4.0以上的都支持。


二、操作命令
1、显示数据库列表。
格式:show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| itblogren          |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
mysql 库很重要它里面有 MySQL 的系统信息,改密码和新增用户,实际上就是对这个库进行操作。

2、显示库中的数据表:
格式:use mysql;show tables;
mysql> use mysql;            
Database changed            
mysql> show tables;         
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
17 rows in set (0.00 sec)   

3、显示数据表的结构:
格式:describe/desc 表名;
mysql> desc time_zone_name;                                      
+--------------+------------------+------+-----+---------+------+
| Field        | Type             | Null | Key | Default | Extra|
+--------------+------------------+------+-----+---------+------+
| Name         | char(64)         | NO   | PRI |         |      |
| Time_zone_id | int(10) unsigned | NO   |     |         |      |
+--------------+------------------+------+-----+---------+------+
2 rows in set (0.01 sec)                                         

4、建库:
格式:create database 库名;
mysql> create database testdb;     
Query OK, 1 row affected (0.09 sec)

5、建表:
格式:use 库名;create table 表名 (字段设定列表);
mysql> use testdb;                                    
Database changed                                       
mysql> create table user                              
    -> (                                               
    ->    userid      int                     not null,
    ->    username    varchar(20)             not null,
    ->    password    varchar(50)             not null,
    ->    email       varchar(50),                     
    ->    primary key (userid)                        
    -> );                                             
Query OK, 0 rows affected (0.25 sec)                  


6、删库和删表:
格式:drop database 库名; drop table 表名;
mysql> drop database testdb;      
Query OK, 1 row affected (0.09 sec)
mysql> drop table user;            
Query OK, 0 rows affected (0.06 sec)

7、删除表中记录清空:
格式:delete from 表名 where 条件;
8、查询表中的记录:
格式:select * from 表名 where 条件;


三、新建库表实例
任务:在数据库testdb中新建一张user表,在其中插入几条记录,然后查询user表。
建库建表:
mysql> drop database if exists testdb;/*如果存在testdb则删除*/
Query OK, 0 rows affected, 1 warning (0.00 sec)            
mysql> create database testdb; /*建立库testdb*/
Query OK, 1 row affected (0.00 sec)            
mysql> use testdb;                                               
Database changed                                                
mysql> create table user  /*建表user*/                           
    -> (                                                         
    ->    userid                int                     not null,
    ->    username              varchar(20)             not null,
    ->    password              varchar(50)             not null,
    ->    email         varchar(50),                             
    ->    primary key (userid)                                   
    > );                                                         
Query OK, 0 rows affected (0.07 sec)
插入字段:
mysql> /*插入字段*/
mysql> insert into user s('1','aa','123456','abc@sina.com');
Query OK, 1 row affected (0.07 sec)
mysql> insert into user s('2','bb','123456','def@sohu.com');
Query OK, 1 row affected (0.06 sec)
在 MySQL 提示符键入上面的命令也可以,但不方便调试。也可以将以上命令原样写入一个文本文件中假设为 user.sql,然后复制到 c:\ 下,并在 DOS 状态进入目录 %mysqlpath%\mysql\bin> ,然后键入以下命令:
格式:mysql -uroot -p密码 < c:\user.sql
如果成功,空出一行无任何显示;如有错误,会有提示。


四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用 \n 来代替.
例: c:\data.txt 中的数据为
3 cc abcdef cc@gmail.com
4 dd abcdef dd@gmail.com
5 ee aaaaaa ee@gmail.com
6 ff aaaaaa ff@gmail.com

2、数据传入命令
load data local infile "文件名" into table 表名;
mysql> load data local infile "c:\\data.txt" into table user;
Query OK, 6 rows affected (0.02 sec)
Records: 6  Deleted: 0  Skipped: 0  Warnings: 0

注意:文件的路径要用双斜杠格开。
mysql> select * from user;
+--------+----------+----------+---------------+
| userid | username | password | email         |
+--------+----------+----------+---------------+
|     1 | aa       | 123456   | abc@sina.com
|     2 | bb       | 123456   | def@sohu.com
|     3 | cc       | abcdef   | cc@gmail.com
|     4 | dd       | abcdef   | dd@gmail.com
|     5 | ee       | aaaaaa   | ee@gmail.com
|     6 | ff       | aaaaaa   | ff@gmail.com
+--------+----------+----------+---------------+
6 rows in set (0.01 sec)
更新字段:
格式:update 表名 set 列名1=值,列名2=值,... where 条件;
mysql> update user set username="modify" where userid ="6";
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from user;
+--------+----------+----------+---------------+
| userid | username | password | email         |
+--------+----------+----------+---------------+
|     1 | aa       | 123456   | abc@sina.com
|     2 | bb       | 123456   | def@sohu.com
|     3 | cc       | abcdef   | cc@gmail.com
|     4 | dd       | abcdef   | dd@gmail.com
|     5 | ee       | aaaaaa   | ee@gmail.com
|     6 | modify   | aaaaaa   | ff@gmail.com
+--------+----------+----------+---------------+
6 rows in set (0.00 sec)
删除记录:
格式:delete from 表 where 条件;
mysql> delete from user;
Query OK, 6 rows affected (0.04 sec)
mysql> select * from user;
Empty set (0.00 sec)
换个头像,看见广告就眼红,直接封ID。

TOP

发新话题