zoukankan      html  css  js  c++  java
  • MySQL5.0常用命令

    MySQL5.0中文问题:


    登录时用命令:

    mysql --default-character-set=gbk<gb2312,utf8> -u root -p


    建表时用命令:

    create table name(name varchar(20))[TYPE=MyISAM,]default character set gbk<gb2312,utf8>;

    =====================
    连接服务者:
    mysql -h host -u user -p

    =====================
    新增超级用户:
    GRANT ALL PRIVILEGES ON *.* TO grb@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;

    =====================
    返回当前所选数据库、当前用户、版本信息和当前时间:
    select database(),user(),version(),now();

    =====================
    查看库、表:
    show databases;
    use databasename;
    show tables;
    show tables from databaseName;

    =====================
    建库、删库:
    create database if not exsits library;
    drop database library;

    =====================
    建表:
    一个表中只能有一个auto_increment;
    在没指定default情况下:对于null就插入null,对于not null,数值类型就插入0,字符串类型就插入

    空字符串,时间戳就插入当前时期和时

    间,enum类型就插入枚举组的第一条?

    create table members(member_id int(11) not null auto_increment,fname varc
    har(50) default 'guo' not null,lname varchar(50) not null,tel varchar(15),email varchar

    (50) no
    t null,primary key(member_id));

    not null auto_increment default primary key()

    =====================
    索引:
    create table users(
    user_id int(4) not null auto_increment,
    fname varchar(50) not null,
    lname varchar(50) not null,
    index id(user_id);

    create table users(
    id int(4) not null auto_increment,
    fname varchar(50) not null,
    lname varchar(50) not null,
    index (fname,lname),primary key(id));

    =====================
    为已存在的表建索引:
    create index indexname on tablename(column);

    =====================
    删除索引:
    drop index indexname on tablename;

    =====================
    unique索引:
    用unique修饰符指定输入字段值必须唯一.
    create table users(name varchar(8),pass varchar(20),unique(name));

    =====================
    * fulltext全文索引

    =====================
    主键:
    index也可以用于多个字段,插入记录时要求两index不同时重复即可。
    create table firewall( host varchar(11) not null, port smallint(4) not null,access enum

    ('deny','allow') not null,primary key

    (host,port));

    =====================
    * 外键:

    删除外键:alter table table_name drop foreign key key_id;

    =====================
    * 表类型:MyISAM、ISAM、HEAP、BerkeleyDB、InnoDB、MERGE

    =====================
    复制表:(create table…select不能复制键,要手工创建)
    create table newTable select field1,field2 from oldTable where condition;
    新建表并复制原表的若干字段:
    create table newTable(newField1,newField2) select oldField1,oldField2 from oldTable;
    创建一个空副本:
    create table newTable select * from oldTable where 0=1;
    另一种复制表方法:(MySQL 4.1)
    create table newTable like oldTable;

    =====================
    描述表(查看表结构):
    describe tableName;
    =====================
    查看索引:
    show index from tableName;

    =====================
    查看数据库中表的详细信息:
    show table status from databaseName;

    =====================
    检索用sql命令创建的表:
    show create table databaseName.tableName;

    =====================
    修改表:
    alter table members add othermessage varchar(50) not null;//添加字段
    alter table tableName add primary key(email);//添加主键
    alter table drop primary key;//删除主键
    alter table tableName change oldField newField auto_increment unique;//修改已存在字段
    alter table tableName drop field;//删除字段
    alter table tableName add email varchar(30) after id;//在指定位置添加新字段after或first
    alter table tableName alter id set default 0;//设置或删除默认值
    alter table tableName add id int(3) auto_increment primary key first;//添加

    auto_increment字段后,原有记录会被自动编号
    alter ignore table tableName change name name varchar(10) not null unique;//设置某一字段

    为unique时用ignore字句删除重复记录
    * 添加外键参照;
    * 更改表类型;
    * 添加删除索引;
    alter table addressbook_table default character set gb2312;

    =====================
    重命名表:
    alter table oldTableName rename to newTableName;
    或:rename table oldTableName to newTableName;

    =====================
    删除表:
    drop table tableName;
    drop table if exsits tableName;

    =====================
    查询记录:
    select id,name,mail from dbname.tablename;

    =====================
    插入记录:(into是可选的)
    insert into members values(null,'guo','guo','7758521','mailtoguoguo@163.com',null);
    insert into members(id,name,password) values(last_insert_id()+1,'tom','secret');
    insert into members values(a,b,c),(d,e,f),(g,h,i);//一次插入多条记录
    插入时间:insert into time(now());

    =====================
    * replace

    =====================
    on duplicate key update
    insert into menu(id,label,url) values(a,b,c) on duplicate key update label='d',url='e';

    =====================
    删除所有记录:
    delete from members;

    =====================
    修改记录:
    update members set tel='7654321',email='mrguoguo@mail.csdn.net' where member_id=1;

    =====================
    重复信息只显示一次:
    select distinct name from members;

    =====================
    查询中运用算术运算:
    select name,math+physics+chinese from grades;

    =====================
    使用内建函数:
    select count(*) from members;
    select avg(math),avg(phisics),avg(chinese) from grades;
    select min(math) from grades;
    select max(math) from grades;

    =====================
    排序:
    select * from members order by member_id,name desc;//asc

    =====================
    限制条数:
    select * from members limit 2,3;(从第2行开始显示,共显示3条记录)
    select * from members limit 19,-1;//返回从第20行到表尾的记录

    =====================
    分组:
    select name,count(*) from tableName group by name;

    =====================
    having类似where
    where针对所有记录,通常与select delete update搭配
    having只对经过操作的记录检索,以进一步筛选,通常与group by搭配

    =====================
    * 使用变量

    =====================
    通配符:
    select * from members where name like '%guo%';

    =====================
    * 为表和列取别名

    =====================
    复制记录:
    insert into users(name,pass) select name,pass from otherTable;

    =====================
    导出记录:
    select * from tableName into outfile 'd:/abc.txt' fields terminated by ' ' enclosed by

    '@';

    =====================
    将.sql或.txt文件导入数据
    mysql> . d:sitegrb.sql
    注意:不用逗号结束。

  • 相关阅读:
    javascript:void(0)的作用示例
    JavaScript 字符串编码函数
    call和apply
    雪中情
    flask第二十篇——模板【3】
    flask第十九篇——模板【3】
    flask第十八篇——模板【2】
    flask第十七篇——模板【1】
    flask第十六篇——Response【2】
    flask第十五篇——Response
  • 原文地址:https://www.cnblogs.com/sovf/p/3596596.html
Copyright © 2011-2022 走看看