ubuntu linux 下 mysql 学习笔记

'#' 后为注释

以下为在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;

posted @ 2014-05-07 21:20  bovenson  阅读(260)  评论(0编辑  收藏  举报