一. 登陆数据库MySQL
-
启动数据库
系统偏好设置启动或关闭:Launchpad——系统偏好设置——MySQL——Start/Stop MySQL Server进入mysql
-
进入或退出mysql
// 进入mysql(要求输入mysql登录密码)
mysql -u root -p
// 退出mysql
exit或者^C
二. 数据库基本操作
-
数据库的基本操作
数据库的建立 create database XXX;
数据库的查看 show databases;
数据库的使用 use databases;(在数据库中进行建立数据表,查询等操作)
数据库的删除 drop database XXX;
-
数据表的基本操作(首先要进入数据库来建立数据表)
显示某个数据库中的所有表:show tables;
显示数据表的结构:desc 表名;
创建数据表:create tabel 表名(字段名称 字段类型, ……);
添加新列:alter table 列名 add 字段名称 字段类型;
删除数据表:drop table 表名;
复制表:create table 新表名 like 被复制表名;
修改表名:rename table 老表名 to 新表名;
重命名字段:alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];
删除字段:alter table 表名 drop 字段名; -
数据的操作
新增数据 INSERT INTO 表名 VALUES (值列表)[,(值列表)]; 可以一次性插入多条记录
查看数据 SELECT */字段列表 FROM 表名 [WHERE 条件];
更新数据 UPDATE 表名 SET 字段 = 值 [WHERE条件]; 建议都有where: 要不然是更新全部
删除数据 DELETE FROM 表名 [WHERE条件]; 建议都有where: 要不然是删除全部
清空表中的数据 TRUNCATE TABLE 表名;(迅速删除)
数据库基本操作一遍过。
-
查看数据库:show databases; (记得有;才算结束)
-
创建数据库:create database XXXData;
-
再次查看数据库:show databases; 发现数据库已建立!!
-
使用数据库:use SData;
-
在SData创建数据表:CREATE TABLE Student (SNO CHAR(2) PRIMARY KEY, SNAME CHAR(6), STATUS SMALLI,CITY CHAR(4) ); (记住CHAR(4)后面没有,否则会报错)
-
查看表:show tables;
-
查看表信息结构 desc Student;
-
添加表中一列信息并查看表中结构 alter table Student drop SEX;
-
复制表 create table Student like Student2;
-
删除表 drop table Student2;
- 修改表名:rename table 老表名 to 新表名;
- 重命名字段:alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];
- alter table 表名 drop 字段名;
- 新增数据 INSERT INTO 表名 VALUES (值列表)[,(值列表)]; 可以一次性插入多条记录
-
查看数据 SELECT */字段列表 FROM 表名 [WHERE 条件];
-
更新数据 UPDATE 表名 SET 字段 = 值 [WHERE条件]; 建议都有where: 要不然是更新全部
-
删除数据 DELETE FROM 表名 [WHERE条件]; 建议都有where: 要不然是删除全部
-
清空表中的数据 TRUNCATE TABLE 表名;(迅速删除)
三. 常见错误
- ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘creat table Student2 like Student’ at line 1
就是你第一行有个语法错误,检查一下吧
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘)’ at line 6
第六行)那里有个错误,我是在括号前面还多一个逗号(,)
- No database selected
意思是没这个数据库。有可能输错名字了(我就是)。
- Incorrect string value: ‘\xE5\xB0\x8F\xE7\xBA\xA2’ for column ‘SNAME’ at row 1
只能输入英语
- smallint
一个小整数。有符号的范围是-2^15-1(-32,768) 到 2^15 - 1 (32,767) 的整型数据,无符号的范围是0到65535(2^16 - 1) 。一位大小为 2 个字节。MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。