MySQL的常用操作

来源:互联网 发布:解锁软件 编辑:程序博客网 时间:2024/06/05 00:37

关于MYSQL的一些关键要点:
1、包括MYSQL在内的大多数SQL都是不区分关键字的大小写的,但是对于数据库内的数据区分大小写。
2、数据库的最基本容器是表(table),你可以按照EXCEL来理解。
3、CHAR类型分为定长类型CHAR和不定长的类型VARCHAR,不定长类型可以最大程度节约存储空间,但是定长类型可以提高工作性能。
4、一般都会给table提供一个无特殊意义的主键(PRIMARY KEY)索引(INDEX),主键索引必须是唯一的。(可以按EXCEL的行号来理解)
5、NULL表示的是一个值暂缺,不是0。
6、MySQL的正则表达式有可能不适用于其他数据库。
7、MySQL有自己的avg()、sum()等常用函数。
8、数据库导出文件或者从文件导入时要注意设置字段分隔符。

浏览现有数据库:

mysql> SHOW DATABASES;    //显示所有数据库mysql> USE name1;       //进入数据库name1mysql> SHOW TABLES;     //显示当前数据库的所有表mysql> SELECT * FROM table1;  //显示表table1的所有数据

创建:

mysql> CREATE DATABASE name2; //创建数据库name2mysql> CREATE TABLE table2(            id      INT UNSIGNED      NOT NULL      PRIMARY KEY    AUTO_INCREMENT,            name    VARCHAR(10)       NOT NULL,            class   CHAR(10)          NOT NULL      DEFAULT ‘class 74',            math    INT UNSIGNED      NOT NULL,            English INT UNSIGNED      NOT NULL,            sex     ENUM('male',female) DEFAULT 'male');     //创建一个表mysql> INSERT INTO table2 (name,class,math,English)        VALUES('selina','class 26',87,79);                   //添加一个新的行

修改:

mysql> UPDATE table2 SET math=100 WHERE name='selina';    //修改selina那一行的math

删除:

mysql> DROP DATABASE name1;     //删除数据库name1mysql> DROP TABLE table1;       //删除表table1mysql> DELETE FROM table2 WHERE name='selina';   //删除selina的那一行

查询:

mysql> SELECT name, class FROM table2 WHERE math>=80; //查询table2里数学成绩大于80的名字和班级mysql> SELECT * FROM table2 WHERE name LIKE 'seli%';  //ANSI模式匹配,查询名字以seli开头的那一行mysql> SELECT * FROM table2 WHERE name REGEXP 'se.*';  //正则表达匹配,查询名字以se开头的那一行

导入:

mysql> LOAD DATA LOCAL INFILE '/tmp/data.txt' INTO TABLE mytable FIELDS TERMINATED BY ','; //从本地文件data.txt中导入数据到表mytable,TERMINATED关键字指明了字段分隔符。

注意如果你是从本地导入数据,最好把LOCAL关键字加上,否则可能会报错:

mysql> ERROR 13 (HY000): Can't get stat of '/tmp/data.txt' (Errcode: 13)

另外,记得先建立好要导入的表,本地的文件中只能作为数据导入,不能包含字段。

对表的一些操作:

ALTER语句可以实现对表的常用操作,包括增删列,修改列的属性(数据类型、DEFAULT、NOT NULL等),修改列的名称等。还有一些高级的特性,例如增删主键、索引、全文索引等等。

mysql> ALTER TABLE table1 ADD physis INT UNSIGNED NOT NULL;   //增加一个名为physis的列并指明属性mysql> ALTER TABLE table1 MODIFY physis CHAR(2)   //修改列的属性,将physis列的数据类型改为CHAR(2),注意:没有指定NOT NULL,所以原有的NOT NULL属性会丢//失。如果你只希望修改其数据类型而不影响其他属性,那么应该把其他属性补充完整,如:mysql> ALTER TABLE table1 MODIFY physis CHAR(2) NOT NULL;mysql> ALTER TABLE table1 CHANGE physis physis_grade INT UNSIGNED NOT NULL;//修改列的属性并且修改其名字,注意:和MODIFY一样,如果不想丢失其他属性,请把其他属性都补充完整。mysql>ALTER TABLE table1 DROP physis;  //删除列physis
0 0
原创粉丝点击