日期:2017/11/29
开发项目紧急,博客总结MySQL的基础。。
一、create databaserunoob 命令 + use RUNOOB 命令
使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。
如果是在本机安装的mysql 可以在DOS提示符号下输入:
mysql -h 127.0.0.1 -u root -p 密码 回车进入。
注意-p后面是密码,如安装时默认root没有设置密码,可以不必输入-p,直接在dos 提示符下输入 mysql -h 127.0.0.1 -u root就可以。
然后可以输入 show databases; 显示mysql的数据库 注意输入分号结束。
二、drop database runoob 命令
三、数据类型
定义数据字段类型对数据库优化是非常重要的,MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
详细可以参考 mysql(4):基础,数据库的数据类型 。
四、CREATE TABLE table_name (column_name column_type) 命令
选择特定的数据库后,则可以创建数据表了。
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>
PS:
创建 MySql 的表时,表名和字段名外面的符号 ` 不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键,坑惨了。反引号是为了区分 MySql 关键字与普通字符而引入的符号,一般的,表名与字段名都使用反引号。
mysql> DROP TABLE runoob_tbl
Query OK, 0 rows affected (0.8 sec)
六、Insert into runoob_tbl (runoob_title, runoob_author, submission_date) value ("学习 PHP", "菜鸟教程", NOW()); 插入数据 + select * from runoob_tbl 查询数据。
root@host# mysql -u root -p password;
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 PHP", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 MySQL", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');
Query OK, 1 rows affected (0.00 sec)
mysql>
PS: INSERT 插入多条数据:
INSERT INTO table_name (field1, field2,...fieldN) VALUES(valueA1,valueA2,...valueAN), (valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;
七、WHERE 子句,过滤数据,select * from runoob_tbl where runoob_author="book2";
子句运用的详细内容可以参考 mysql(5):基础,where子句的语法介绍 。
八、UPDATE 子句,修改/更新数据表,update runoob_tbl SET runoob_title="学习C++" WHERE runoob_id=3;
子句运用的详细内容可以参考 mysql(6):基础,update子句的语法介绍 。
九、DELETE 子句,删除 MySQL 数据表中的记录,DELETE FROM runoob_tbl WHERE runoob_id=3;
子句运用的详细内容可以参考 mysql(7):基础,delete子句的语法介绍 。
十、LIKE子句,从数据表中读取数据, update runoob_tbl set runoob_id =3 ,runoob_author="book3" WHERE runoob_title LIKE '%SQL';
子句运用的详细内容可以参考 mysql(8):基础,LIKE 子句的语法介绍 。
十一、UNION 子句,用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。
SELECT country FROM websites UNION SELECT country FROM apps ORDER BY country;
子句运用的详细内容可以参考 mysql(9):基础,UNION子句的语法介绍 。
PS:
(1)两表联合时,注意要有一模一样的纵列才可以;
(2)UNION 与 ALL 的联合使用。
十二、ORDER BY 子句,对表进行排序
子句运用的详细内容可以参考 mysql(10):基础,ORDER 子句的语法介绍 。
SELECT country, name FROM Websites
WHERE country='CN'
UNION
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
与
SELECT country, name FROM Websites
WHERE country='CN'
UNION
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
十三、 GROUP BY 语句,根据一个或多个列对结果集进行分组。
子句运用的详细内容可以参考 mysql(11):基础, GROUP BY 子句的语法介绍 。
待续..