Mysql的基本语句用法


建表语句规范

DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
  `id` varchar(64) NOT NULL COMMENT '编号',
  `company_id` varchar(64) DEFAULT NULL COMMENT '归属公司',
  `office_id` varchar(64) DEFAULT NULL COMMENT '归属部门',
  `login_name` varchar(100) DEFAULT NULL COMMENT '登录名',
  `password` varchar(100) DEFAULT NULL COMMENT '密码',
  `no` varchar(100) DEFAULT NULL COMMENT '工号',
  `name` varchar(100) DEFAULT NULL COMMENT '姓名',
  `email` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `phone` varchar(200) DEFAULT NULL COMMENT '电话',
  `mobile` varchar(200) DEFAULT NULL COMMENT '手机',
  `user_type` char(1) DEFAULT NULL COMMENT '用户类型',
  `photo` varchar(1000) DEFAULT NULL COMMENT '用户头像',
  `login_ip` varchar(100) DEFAULT NULL COMMENT '最后登陆IP',
  `login_date` datetime DEFAULT NULL COMMENT '最后登陆时间',
  `login_flag` varchar(64) DEFAULT NULL COMMENT '是否可登录',
  `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  `update_date` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(255) DEFAULT NULL COMMENT '备注信息',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标记',
  `qrcode` varchar(1000) DEFAULT NULL COMMENT '二维码',
  `sign` varchar(450) DEFAULT NULL COMMENT '个性签名',
  PRIMARY KEY (`id`),
  KEY `sys_user_office_id` (`office_id`),
  KEY `sys_user_login_name` (`login_name`),
  KEY `sys_user_company_id` (`company_id`),
  KEY `sys_user_update_date` (`update_date`),
  KEY `sys_user_del_flag` (`del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

添加字段


sql语句如下:

1:

alter table 表名 add column 字段名 varchar(255) DEFAULT NULL;

2:

ALTER TABLE `表` ADD '字段' varchar(15)  NOT NULL COMMENT '注释' after ‘字段名’ ;

after ‘字段名’ 表示在某个字段之后;

3.增加多个字段

alter table user
add (name1 varchar(30) default null not null,
age integer default null not null,
has_money2 double(9,2)
);

 

删除其中一个字段

LTER TABLE <表名> DROP <字段名>;

修改表名称注释

alter 表名 cs comment 'xxx表';

修改字段

sql语句如下:

ALTER TABLE `user` MODIFY  '字段' varchar(15) DEFAULT NULL;

重置清空id,让id从1开始自动递增

truncate table 你的表名

MySQL常用命令

create database name; 创建数据库

use databasename; 选择数据库

drop database name 直接删除数据库,不提醒

show tables; 显示表

describe tablename; 表的详细描述

select 中加上distinct去除重复字段

mysqladmin drop databasename 删除数据库前,有提示。

显示当前mysql版本和当前日期

select version(),current_date;

#查询数据库连接
show full processlist;
show status like ‘%Max_used_connections%’;
show status like ‘%Threads_connected%’;#当前连接数
show status like ‘%table_lock%’;#表锁定
show status like ‘innodb_row_lock%’;#行锁定
show status like ‘%qcache%’; #查询缓存情况
show variables like “%query_cache%”;
SHOW STATUS LIKE ‘Qcache%’;
show variables like “%binlog%”;
show status like ‘Aborted_clients’;#由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
show variables like ‘%max_connections%’;//查看最大连接数量
show variables like ‘%timeout%’;#查看超时时间
show variables like ‘log_%’; #查看日志是否启动
修改mysql中root的密码:
shell>mysql -u root -p
mysql> update user set password=password(”xueok654123″) where user=’root’;
mysql> flush privileges //刷新数据库
mysql>use dbname; 打开数据库:
mysql>show databases; 显示所有数据库
mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后
mysql>describe user; 显示表mysql数据库中user表的列信息);

grant

mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

 增加新用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

删除授权:

mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;

创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’

重命名表:

mysql > alter table t1 rename t2;

mysqldump

备份数据库

shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

恢复数据库

shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

如果只想卸出建表指令,则命令如下:

shell> mysqladmin -u root -p -d databasename > a.sql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell> mysqladmin -u root -p -t databasename > a.sql

那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?

mysqldump -T./ phptest driver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。

例如,如果在文件my_file.sql 中存放有查

询,可如下执行这些查询:

例如,如果您想将建表语句提前写在sql.txt中:

mysql > mysql -h myhost -u root -p database < sql.txt

 建表模板
create table wf_process_case (
    id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
   car_code varchar(50)  comment '车辆编号',
    PRIMARY KEY (`id`) USING BTREE
)comment '流程实例表';

执? sql 脚本?件(.sql ?件)

source 脚本?件名