连接数据库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

最新文章

  1. UVA 11987 Almost Union-Find (并查集+删边)
  2. Redis和Memcached的区别
  3. Linux-sed用法
  4. android studio 偶记
  5. careercup-栈与队列 3.3
  6. sql解释执行顺序
  7. Keychain 浅析
  8. 简单的Elf逆向Writeup
  9. Servlet Filter 中init和destroy问题
  10. 201521123017 《Java程序设计》第11周学习总结
  11. FreeMarker系列学习笔记
  12. .net 简单实用Log4net(多个日志配置文件)
  13. Java IO编程全解(四)——NIO编程
  14. 尚硅谷面试第一季-18ES与Solr的区别
  15. Ubuntu部署可视化爬虫Portia2.0环境以及入门
  16. 06-jQuery的文档操作(重点)
  17. Axis2之异步调用
  18. 前端vue项目-关于下载文件pdf/excel(三)
  19. ArcGIS案例学习笔记-CAD数据自动拓扑检查
  20. VC基于单文档OpenGL框架

热门文章

  1. Mac安装并破解StarUML
  2. mysql 存储过程查询语句
  3. (二十八)static关键字
  4. IntelliJ IDEA 安装破解详解
  5. 10 结构体和类 - —— 《Swift3.0 从入门到出家》
  6. FastAdmin 在 CRUD 时出现 exec() has been disabled for security reasons 怎么办?
  7. 【转】eclipse + Pydev 配置Python开发环境
  8. laravel 中config的使用
  9. PL/SQL 训练04--事务
  10. GitHub in vs2010、vs2013