玩转Mysql命令
Posted 万隆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转Mysql命令相关的知识,希望对你有一定的参考价值。
连接数据库mysql -hlocalhost -uroot -p
在MYsql的跟目录文件下进行
show databses;
展示所有数据库
解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-character-set=utf8,保存,然后重启MySql服务就可以从命令行成功导入了。缺点,因为部署的话,可能无法配置用户的计算机,那么方法一就无用武之地了。。。
解决方法2:在数据库脚本文件开头加入一行 set character set utf8;,在库名后加入default character set utf8;在表) 后加入default charset =utf8;,在添加数据前加入一行 set character set utf8;就可以咯。
展示所有表
show tables;
创建表
CREATE TABLE if not exists five( 如果这个表不存在就创建
id INT(10) AUTO_INCREMENT PRIMARY KEY, 设置自增id 然后是主键
NAME VARCHAR(20) NOT NULL
)CHARSET =utf8 `six` 设置字符集
添加数据
INSERT INTO six(NAME) VALUES(‘1‘) 如果有自增id 一定要指定添加的列
添加外键
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
删除外键
ALTER TABLE `tb_active` DROP FOREIGN KEY `FK_ID`
查询前一行
SELECT * FROM student LIMIT 1
添加默认约束
ALTER TABLE result
ALTER examDate SET DEFAULT ‘1999-1-1‘
删除
ALTER TABLE result
ALTER examDate DROP DEFAULT
----事物
rollback事务回滚
commit 事务提交
禁止自动提交
SET AUTOCOMMIT = 0
自动提交
SET AUTOCOMMIT = 1
---视图
创建试图
CREATE VIEW student_view
AS
SELECT StudentNo,Studentname FROM student
查看视图
select * from student_view
查看所有视图
USE information_schema;
SELECT * FROM views
--索引
创建索引
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
CREATE INDEX indexName ON mytable-name(username(length));
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。
修改表结构(添加索引)
ALTER table tableName ADD INDEX indexName(columnName)
查看所有的索引
SHOW INDEX FROM `student`;
/*--创建学生表组合索引--*/
CREATE INDEX index_name_gradeId ON student(studentName,gradeId);
/*--创建学生表唯一索引--*/
CREATE UNIQUE INDEX index_iden ON student(identityCard);
/*--创建成绩表普通索引--*/
CREATE INDEX index_result ON result(studentResult);
---Mysql 备份
必须Dos命令里面5
mysqldump -uroot -p123 test > test.sql
导入
mysql -uroot -p1234 db1 < c:\a.txt
---存储过程
创建一个带变量的存储过程
DELIMITER $$
CREATE PROCEDURE add2
(
IN a INT,
IN b VARCHAR(20)
)
BEGIN
declare c int default 0;
set c = a + b;
SELECT c as c;
END$$
DELIMITER ;
调用
CALL add2(1,‘DD‘)
创建变量
set @on =1
SET @zhi=1;
SELECT COUNT(*) INTO @zhi FROM student; 将语句查出来的值给一个变量,但是这个变量只能接收一行数值
SELECT @zhi
以上是关于玩转Mysql命令的主要内容,如果未能解决你的问题,请参考以下文章