mysql 数据库基础命令

数据库命令:

  • 进入 mysql 库;

    use mysql;

  • 查看用户权限

    select * from user where user='root' \G;

  • 创建数据库

    create database 数据库名;

  • 查看当前创建的数据库

    show create database 数据库名;

  • 查看所有数据库

    show databases;

  • 修改数据库

    alter database 库名 charset gbk;

  • 删除数据库

    drop database 库名;

  • 创建表

    create table 表名(id int, name char(10) );

  • 查看当前建立的表

    show create table 表名;

  • 查看所有表

    show tables;

  • 查看表结构

    describe 表名; 或者 desc 表名;

  • 修改表

    alter table 表名 modify name char(15)

  • 插入数据

    insert into 表名(id, name) values(1, '张飞')

  • 查询

    select * from 表名;

  • 修改信息

    update 表名 set name='章子怡' where id=1;

  • 删除数据

    delete from 表名 where id=1;

表字段 增删改操作

-- 新增字段
-- 在test_table 表的 valid_status 字段之后,新增一个字段,设置对应的类型,长度,是否为null,默认值,注释
ALTER TABLE Teacher ADD COLUMN `is_staff` TINYINT ( 2 ) NOT NULL DEFAULT '1' COMMENT '是否在职 0否 1是' AFTER `Tname`;
-- 修改一个字段的类型
ALTER TABLE Teacher ADD COLUMN gender CHAR ( 3 ) NOT NULL DEFAULT '女' COMMENT '性别' AFTER Tname;
-- 修改一个字段的名称,必须要指定该字段的类型
ALTER TABLE Teacher MODIFY gender VARCHAR ( 10 ) NOT NULL DEFAULT '男' COMMENT '性别--';
ALTER TABLE Teacher CHANGE is_staff staff TINYINT ( 3 ) NOT NULL DEFAULT '2' COMMENT '字段注释';
-- 删除字段
ALTER TABLE Teacher DROP COLUMN staff;

用户操作

  • 创建用户

指定 ip 范围

create user '用户名'@'192.168%' identified by "密码";

不指定 ip 范围

create user '用户名'@'%' identified by "密码";

  • 删除用户

drop user '用户名'@'ip地址';

  • 修改用户

rename suer '用户名'@'IP' to '新用户名'@'ip地址';

  • 修改密码

set password for '用户名'@'ip地址' = password("新密码")

  • 查看权限

show grants for '用户名'@'ip地址'

  • 用户授权

授权用户仅对 db1.t1 文件有增删改查操作

grant select \ insert \ updata on db1.t1 to '用户名'@'ip';

用户对所有文件有所有权限 除了 grant 命令

grant all privileges on ' * ' to '用户名'@'ip';

  • 远程连接

mysql -uzhang -p3306 -hIP地址 -p密码

复制表

  • 复制表结构 又复制记录

create table t2 select * from 库名.表名;

  • 只复制表结构

create table t2 select * from 库名.表名 where 1>3;

CREATE TABLE 新表 LIKE 旧表 ;

  • 复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表 SELECT * FROM 旧表

  • 复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

创建表

-- ----------------------------
DROP TABLE IF EXISTS `city`;  -- 如果数据库中 有 city 表就先 删除 再 创建
CREATE TABLE `city` (
  `city_id` smallint(5) unsigned NOT NULL auto_increment,
  `city` varchar(50) NOT NULL,
  `country_id` smallint(5) unsigned NOT NULL,
  -- 时间   在创建新记录和修改现有记录的时候都对这个数据列刷新
  `last_update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,  
  PRIMARY KEY  (`city_id`),  -- 指定主键 
  KEY `idx_fk_country_id` (`country_id`),  -- 指定外键 
  CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `country` (`country_id`)  on delete restrict   ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- 指定引擎  默认字符集

  • 查看表
  • desc 表名;

清空表

  • 如果有自增 新增的数据 以之前的值开始

    delete from 表名;

  • 删除快 从零开始

    truncate table 表名;

内置函数

  • 数学:

    abs(x)

posted @ 2019-04-22 11:39  拐弯  阅读(5462)  评论(0编辑  收藏  举报