'#' 后为注释
以下为在shell中的操作:
打开终端(terminal)
1.登录MySQL
mysql-u root -p
输入密码:******
2.几个简单的命令
(1)show databases; # “;” 不可少!
#显示数据库列表
(2)use databasesname # databasesname 为要选择的数据库
如:usemysql
(3)show tables # 查看一个数据库中所有的数据表
(4)exit # 退出数据库
3.查看表信息
查看大概信息:
describe tablename #tablename 为表名
查看全部信息:
show create table tablename;
4.查看某一数据库中的所有表
用use databasesname 进入 某一数据库
然后用 show tables 查看所有表
5.注释
mysql 服务器支持:
# 到该行结束
-- 到该行结束
/* 行中间或多个行 */ :
mysql> SELECT 1+1; # 这个注释直到该行结束
mysql> SELECT 1+1; -- 这个注释直到该行结束
mysql> SELECT 1 /* 这是一个在行中间的注释 */ + 1;
mysql> SELECT 1+
/*
这是一个 多行注释的形式
*/
1;
注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格!
尽管服务器理解刚才描述的注释句法,但 MySQL 客户端的语法分析在 /* ... */ 注释方式上还有所限止:
单引号和双引号被用来标志一个被引用字符串的开始,即使是在一个注释中。如果注释中的引号没有另一个引号与之配对,那和语法分析程序就不会认为注释结束。
如果你以交互式运行 mysql,你会产生困惑,因为提示符从 mysql> 变为 '> 或 ">。
6.操作
SqlServer(Transact-SQL):
添加单列:
ALTER TABLE 表名
ADD 列名 数据类型
添加多列:
ALTER TABLE 表名
ADD 列名1 数据类型1,列名2 数据类型2
修改单列数据类型:
ALTER TABLE 表名
ALTER COLUMN 列名 数据类型
同时修改多列数据类型:
不支持
删除单列:
ALTER TABLE 表名
DROP COLUMN 列名
删除多列:
ALTER TABLE 表名
DROP COLUMN 列名1,列名2
同时添加和修改多列:
不支持,每次只能进行一种操作.
Oracle(PL/SQL):
添加单列:
ALTER TABLE 表名
ADD 列名 数据类型
添加多列:
ALTER TABLE 表名
ADD ( 列名1 数据类型1,列名2 数据类型2)
修改单列数据类型:
ALTER TABLE 表名
MODIFY 列名 数据类型
同时修改多列数据类型:
ALTER TABLE 表名
MODIFY ( 列名1 数据类型1,列名2 数据类型2)
删除单列:
ALTER TABLE 表名
DROP COLUMN 列名
删除多列:
ALTER TABLE 表名
DROP (列名1,列名2)
同时添加和修改多列:
ALTER TABLE 表名
ADD ( 列名1 数据类型1,列名2 数据类型2)
MODIFY ( 列名3 数据类型3,列名4 数据类型4)
添加完整性约束条件
1) 添加主键
ALTER TABLE tablename
ADD CONSTRAINT limitename PRIMARY KEY(column);
不指定约束名,则由系统自动命令约束名:
ALTER TABLE Course
ADD PRIMARY KEY(column);
2) 添加外键
ALTER TABLE tablename
ADD CONSTRAINT limitename FOREIGN KEY (column) REFERENCES tablename(column);
3) 添加check约束
ALTER TABLE tablename
ADD CONSTRAINT limitename CHECK(condition);
4) 添加 unique 约束
ALTER TABLE tablename
ADD CONSTRAINT limitename unique(column);
删除完整性约束
因为非空约束不能指定约束名,应该先通过查询表和列所对应的的约束信息,找出约束名,再删除。
通过 show create table tablename 命令查找约束名称()
删除索引:
ALTER TABLE tablename
DROP INDEX limitname;
删除外键:
ALTER TABLE tablename
DROP FOREIGN KEY limitname;
重命名
重命名表名
ALTER TABLE tablename
RENAME TO Anothertablename;