(1)启动MySQL“net start MySQL”
(2)控制台登录MySQL "mysql -u username -p password"
(3)查看MySQL版本
1:在终端下:mysql -V。 2:在mysql中:mysql> status;
数据库和表操作
22.4.1 创建数据库
1)创建“create database xx;”
2)显示所有数据库”show databases;”
3)使用”use xx;”,出现”Database changed”说明已成功选择使用该数据库。
技巧:1)创建时使用”if not exists xx”避免错误发生。Eg:”create database if not exists shop;”
22.4.2 删除数据库
Drop database xx;
技巧:1)删除时使用”if exists”避免错误发生。Eg:drop database if exists shop;
22.4.3 创建表
1)创建表 “create table xx;”
2)查看所有表”show tables;”
3)查看表结构”describe xx;”
4)查看创建表语句”show create table xx;”
技巧:1)创建表时也可以使用”if not exists”。 eg: “create table if not exists xx(….);”
22.4 删除表
Drop table xx; 技巧1)可以使用“if exists”避免错误。Eg:“ drop table if exists xx;”
22.4.5 复制表
1)复制表结构和内容
Eg: create table xx2 select (*|col1,col2…) from xx1;
主键属性不能复制过去。
2)仅复制表结构
Eg: create table xx2 like xx1;
主键属性能复制。
22.4.6 修改表
在MySQL中使用Alter table命令可以对已创建好的表进行修改,如增加字段,删除字段,增加主键等。
(1)添加字段
Alter table xx add字段[属性]
(2)删除字段
Alter table xx drop字段
(3)修改字段
包括修改字段名称和属性。
Alter table xx change字段新的字段名数据类型 [属性]
注意:必须指定新字段的数据类型。
(4)添加主键
将已有的字段设置为主键。否则用增加字段方法。
Alter table xx add primary key(字段);
(5)修改表名
Alter table 表名 rename to 新表名
22.5 数据操作
22.5.1 插入数据
(1) insert [into] talbe_name [(col_name,…)]
Values(value,…),(….)
[ON DUPLICATE KEY UPDATE col_name=value,….]
(2)insert [into] table_name
Set col_name=value,…
[ON DUPLICATE KEY UPDATE col_name=value,…]
(3)insert [into] table_name [(col_name,…)]
Select …
[ON DUPLICATE KEY UPDATE col_name=value,…]
技巧:使用insert …select格式可以快速地将数据从一个或多个表中导入到另一个表中。
22.5.2 查询数据
1、查询特定的行与列
1)用具体的列名代替“*”来过滤列
2)用“where”子句过滤行。
Eg: select name, email from new_user where id<5 and name<>’jone’;
2、限制结果集
使用“limit”关键字可限制返回的结果集的行数。
Eg:select * fromo new_user limit 2;
3、排序结果集
Order by 子句可以将返回的结果集按特定字段排序,其中“ASC”升序,“DESC”降序。默认情况下是降序。
Eg:select * from new_user order by name ASC;
22.5.3 更新数据
Eg: update new_user set address=’ex’, email=’j@satesite.domain’
Where name=’jone’;
22.5.4 删除数据
1)DELETE
Eg: Delete from new_user [where …];
如果不使用where会删除表中的所有记录。
2)TRUNCATE
Eg:truncate table new_user;
TRUNCATE用来删除表中所有记录,TRUNCATE不保证是事物安全的,TRUNCATE实际上是删除并从新创建表。对于含有AUTO_INCREMENT属性的字段会重头开始计数。