Linux学习网!Linux爱好者的家园~凡事都是必须经过枯燥无味阶段才能做到较高层次的。
首页 新闻 Linux命令 学习入门 Ubuntu 服务配置 数据库 Linux发行版 视频教程 Linux下载 Linux论坛 留言本

TOP

MySQL的语法(一)
2011-03-13 08:37:12 来源:Linux学习网 】 浏览:60次 评论:0
一、帐号与权限
    设定 root 和其他 user 的密码
    mysqladmin -u root password '新密码'
    mysqladmin -u root -p
    Enter password:    此时再输入密码(建议采用)
    use mysql;
    mysql> UPDATE user SET password=password('新密码') where user='root';
    只改 root 的密码,如果没有用 where ,则表示改全部 user 的密码
    mysql> FLUSH PRIVILEGES; 在 mysql 资料库内,一定要用 flush 更新记忆体上的资料
    删除空帐号
    mysql> DELETE FROM user WHERE User = '';
    mysql> FLUSH PRIVILEGES;
    建立新帐号
    mysql> GRANT 权限 ON 资料库或资料表 TO 使用者 IDENTIFIED BY '密码';
    权限
    资料库或资料表
    *.* 所有资料库里的所有资料表
    * 预设资料库里的所有资料表
    资料库。* 某一资料库里的所有资料表
    资料库。资料表 某一资料库里的特定资料表
    资料表  预设资料库里的某一资料表
    设定/修改权限
    用 root 登入 MySQL
    mysqladmin -u root -p
    Enter password:
    mysql> GRANT all ON db35.* TO s35@'localhost' IDENTIFIED BY 's35';
    把 db35 这个资料库(含其下的所有资料表),授权给 s35,从 localhost 上来,密码为s35
    mysql> GRANT all ON *.*  把所有资料库及资料表授权给别人,太危险了!
    mysql> GRANT all??? ON www.* TO '*'@'*' IDENTIFIED BY '';
    把 www 这个资料库(含其下的所有资料表),授权给 任何机器任何人,无密码(通常给不特定人士使用)
    mysql> FLUSH PRIVILEGES;   (最後一定要强迫更新权限)
    二、资料库/资料表/栏位的操作
    建立资料库 CREATE DATABASE 资料库名;
    语法:CREATE DATABASE db_name
    使用资料库 USE 资料库名;
    语法:USE db_name
    删除资料库 DROP DATABASE 资料库名;
    语法:DROP DATABASE [IF EXISTS] db_name
    建立资料表
    CREATE TABLE 资料表名 (栏位1 资料型态, 栏位2 资料型态, ……);
    语法:
    CREATE TABLE [IF NOT EXISTS] tbl_name (create_definition,…) [table_options] [select_statement]
    例:
    craete database basic;
    use basic;
    create table basic(
    no char(4)
    name char(10)
    id char(10));
    create_definition:
    col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
    [PRIMARY KEY] [reference_definition]
    or    PRIMARY KEY (index_col_name,…)
    or    KEY [index_name] KEY(index_col_name,…)
    or    INDEX [index_name] (index_col_name,…)
    or    UNIQUE [INDEX] [index_name] (index_col_name,…)
    or    [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,…)
    [reference_definition]
    or    CHECK (expr)
    资料结构(type):
    资料型态 说明
    TINYINT 有符号的范围是-128到127, 无符号的范围是0到255。
    SMALLINT 有符号的范围是-32768到32767, 无符号的范围是0到65535。
    MEDIUMINT 有符号的范围是-8388608到8388607, 无符号的范围是0到16777215。
    INT 有符号的范围是-2147483648到2147483647, 无符号的范围是0到4294967295。
    INTEGER INT的同义词。
    BIGINT 有符号的范围是-9223372036854775808到 9223372036854775807,无符号的范围是0到18446744073709551615。
    FLOAT 单精密浮点数字。不能无符号。允许的值是-3.402823466E+38到- 1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。
    DOUBLE 双精密)浮点数字。不能无符号。允许的值是- 1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。
    DOUBLE PRECISION DOUBLE的同义词。
    REAL DOUBLE的同义词。
    DECIMAL DECIMAL值的最大范围与DOUBLE相 同。
    NUMERIC DECIMAL的同义词。
    DATE 日期。支援的范围是'1000-01-01'到'9999-12-31'。
    DATETIME 日期和时间组合。支援的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
    TIMESTAMP 时间戳记。范围是'1970-01-01 00:00:00'到2037年的某时。
    TIME 一个时间。范围是'-838:59:59'到'838:59:59'。
    YEAR 2或4位数字格式的年(内定是4位)。允许的值是1901到2155。
    CHAR 固定长度,1 ~ 255个字元。
    VARCHAR 可变长度,1 ~ 255个字元。
    TINYBLOB
    TINYTEXT 最大长度为255(2^8-1)个字符。
    MEDIUMBLOB
    MEDIUMTEXT 最大长度为16777215(2^24-1)个字符。
    LONGBLOB
    LONGTEXT 最大长度为4294967295(2^32-1)个字符。
    ENUM 一个ENUM最多能有65535不同的值。
    SET 一个SET最多能有64个成员。
    index_col_name:
    col_name [(length)]
    reference_definition:
    REFERENCES tbl_name [(index_col_name,…)]
    [MATCH FULL | MATCH PARTIAL]
    [ON DELETE reference_option]
    [ON UPDATE reference_option]
    reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
    table_options:
    type = [ISAM | MYISAM | HEAP]
    or      max_rows = #
    or      min_rows = #
    or      avg_row_length = #
    or      comment = "string"
    or      auto_increment = #
    select_statement:
    [ | IGNORE | REPLACE] SELECT …  (Some legal select statement)
    删除资料表 DROP TABLE 资料表名;语法:DROP TABLE [IF EXISTS] tbl_name [, tbl_name,…]
    改变资料表结构(新增/删除栏位、建立/取消索引、改变栏位资料型态、栏位重新命 名)
    语法:
    ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec …]
    alter_specification:
    ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
    or    ADD INDEX [index_name] (index_col_name,…)
    or    ADD PRIMARY KEY (index_col_name,…)
    or    ADD UNIQUE [index_name] (index_col_name,…)
    or    ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
    or    CHANGE [COLUMN] old_col_name create_definition
    or    MODIFY [COLUMN] create_definition
    or    DROP [COLUMN] col_name
    or    DROP PRIMARY KEY
    or    DROP INDEX key_name
    or    RENAME [AS] new_tbl_name
    or    table_option
    范例:
分享到:
你可能感兴趣的文章:
Tags:MySQL
首页 上一页 1 2 3 下一页 尾页 1/3/3
】 【打印繁体】【投稿】 【评论】 【关闭】 【返回顶部
上一篇无法远程登入MySQL的解决办法 下一篇MySQL转换Oracle注意事项

推荐图文

赞助商

相关栏目

最新文章

热门文章

推荐文章