启动服务
net start mysql
创建mysql服务:
sc create mysql binPath= mysql_bin_path (等号与值用空格)
连接与断开
mysql -h host -u user -p
Enter password: ********
退出 :QUIT
数据库的操作
查看当前数据库:select database
显示当前时间,名称,数据库版本
select now(), user(),version
创建数据库
create database 数据库名称
修改数据库
alter database 库名 选择信息
删除数据库:
drop database 数据库名称
表的操作
创建了一个book表
CREATE TABLE `book` (
`bookId` int(11) NOT NULL AUTO_INCREMENT,
`bookNo` varchar(50) DEFAULT NULL,
`bookName` varchar(50) DEFAULT NULL,
PRIMARY KEY (`bookId`),
KEY `stuId` (`stuId`),
CONSTRAINT `stuId` FOREIGN KEY (`stuId`) REFERENCES `student` (`stuId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
表插入
insert into book (bookId,bookNo bookName) value ('书籍Id','书籍编号','书籍名称')
修改数据
UPDATE book SET bookid=1 where bookName='mysql'
删除表
drop table 表名
删除数据
delete table 表 where 条件
查询数据
select 字段列表 from 表名 where 条件 group by 分组 order by排序
字符集编码
-- MySQL、数据库、表、字段均可设置编码
-- 数据编码与客户端编码不需一致
SHOW VARIABLES LIKE 'character_set_%' -- 查看所有字符集编码项
character_set_client 客户端向服务器发送数据时使用的编码
character_set_results 服务器端将结果返回给客户端所使用的编码
character_set_connection 连接层编码
SET 变量名 = 变量值
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
SET NAMES GBK; -- 相当于完成以上三个设置
-- 校对集
校对集用以排序
SHOW CHARACTER SET [LIKE 'pattern']/SHOW CHARSET [LIKE 'pattern'] 查看所有字符集
SHOW COLLATION [LIKE 'pattern'] 查看所有校对集
CHARSET 字符集编码 设置字符集编码
COLLATE 校对集编码 设置校对集编码
列表约束
primary 设置主键
unique 唯一索引
null 属性约束
default 默认属性
auto_increment 自动增长
foreign key 外键约束
Union
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。
UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。
同时,每条 SELECT 语句中的列的顺序必须相同.
代码如下:
SELECT column_name FROM table1
UNION
SELECT column_name FROM table2
union all 用法
SELECT column_name FROM table1
UNION ALL
SELECT column_name FROM table2
join
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。