数据库命令:
进入 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)