zoukankan      html  css  js  c++  java
  • SQL基本语句

    基本SQL语句:

    #进入mysql客户端
    $mysql
    mysql> select user();  #查看当前用户
    mysql> exit     # 也可以用q quit退出
    
    # 默认用户登陆之后并没有实际操作的权限
    # 需要使用管理员root用户登陆
    $ mysql -uroot -p   # mysql5.6默认是没有密码的
    #遇到password直接按回车键
    mysql> set password = password('root'); # 给当前数据库设置密码
    
    # 创建账号
    mysql> create user 'eva'@'192.168.10.%'   IDENTIFIED BY PASSWORD '123';# 指示网段
    mysql> create user 'eva'@'192.168.10.5'   # 指示某机器可以连接
    mysql> create user 'eva'@'%'                    #指示所有机器都可以连接  
    
    # 远程登陆
    $ mysql -uroot -p123 -h 192.168.10.3
    
    # 给账号授权
    mysql> grant all on *.* to 'eva'@'%';
    mysql> flush privileges;    # 刷新使授权立即生效
    
    # 创建账号并授权
    mysql> grant all on *.* to 'eva'@'%' identified by '123' 
    
    mysql的账号操作

     简单的文件操作命令

    1. 操作文件夹(库)
       增:create database db1 charset utf8;
       查:show databases;
       改:alter database db1 charset latin1;
       删除: drop database db1;
    
    
    2. 操作文件(表)
       先切换到文件夹下:use db1
       增:create table t1(id int,name char);
       查:show tables;
       改:alter table t1 modify name char(3);
          alter table t1 change name name1 char(2);
       删:drop table t1;
        
    
    3. 操作文件中的内容(记录)
       增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
       查:select * from t1;
       改:update t1 set name='sb' where id=2;
       删:delete from t1 where id=1;
    
       清空表:
           delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
           truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
    
    *auto_increment 表示:自增
    *primary key 表示:约束(不能重复且不能为空);加速查找

     常用命令:

    命令
        mysqld --initialize-insecure  初始化命令
        mysqld   开启服务端
        mysql -uroot -p 开启一个新的cmd  开启客户端、连接服务端
        password密码
        show databases   查看所有的数据库
        create database db1  创建数据库
        tasklist |findstr mysql  开启一个新的cmd 查看进程
        taskkill /F /PID 进程号   杀死进程
    安装window服务
        mysqld --install  安装window服务
        mysqld --remove  移除window服务
        net start mysql : 开启服务端
        net stop mysql  :关闭服务端
        selsct user(); 查询
        exit 退出
        mysqladmin -uroot -p password "123"  设置密码
    忘记密码怎么办?
         (1) 先关闭掉之前的mysql服务器的进程  net stop mysql
         (2) 跳过授权表开启mysql的服务端  mysqld --skip-grant-tables (开启服务端的 约束条件跳过授权)
         (3) 客户端连接 mysql -uroot -p   在开一个cmd
         (4) 更改密码:update mysql.user set authentication_string =password('') where User='root'; 
         (5) 刷新权限 flush privileges;
        在开一个cmd
        查看进程号:tasklist |findstr mysql 
        杀死进程:taskkill /F /PID 进程号
        net start mysql : 开启服务端
    如何创建用户和密码
        create user 'mjj'@'192.118.1.1' identified by '123';
        create user 'mjj'@'192.118.1.%' identified by '123';
        create user 'yining'@'%' identified by '91';
    给当前的用户授权
        grant all privileges  on *.*  to "xxxx"@'%';        
    移除当前用户的权限
        revoke all privileges on *.* from 'xxx'@'%';
    连接
        mysql -uyining -h 192.168.13.29 -P 3306 -p91
        show databases; 查看所有的数据库
        use db1; 使用数据库
        
    操作文件夹(库)
        create database db1 charset utf8;  增
        show create database db1;   查看当前创建的数据库
        show databases;    查看所有的数据库
        alter database db1 charset gbk;   改
        drop database db1;   删
    操作文件(表)
        use db1;    切换文件夹
        select database();   查看当前所在文件夹
        create table t1(id int,name char(10));  增
        show tables;    查看所有的表
        show create table t1;   查看当前的这张t1表
        desc t1;   查看表的详细信息
        alter table t1 modify name char(6);   修改   modify修改字节数
        alter table t1 change name NAMA char(7);    改变name为大写的NAME   change字数和名字
        drop table t1;  删除表
    操作文件内容
        insert into t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");   插入一条数据,规定id,name数据leilei
        select id from db1.t1;   查id
        select id,name from db1.t1   
        select * from db1.t1;   查所有
        update db1.t1 set name='alex' where id=2;   改
        delete from t1 where id=2;
    创建数据库
        help create database;   求救语法
        create database  数据库名  charset utf8;
        show database;  查看数据库
        show create database db1;  查看当前库
        select database();    查看所有库
        use 数据库名     进入数据库
        drop database 数据库名;   删除数据库
        alter database db1 charset utf8;   修改数据库
    存储引擎    
        mysql 5.5版本之后默认为innodb存储引擎
        另外还有mysiam、memory、blackhone
        #memory,在重启mysql或者重启机器后,表内数据清空
        #blackhole,往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录
        create table t1(id int)engine=innodb;
        create table t2(id int)engine=myisam;
        create table t3(id int)engine=memory;
        create table t4(id int)engine=blackhole;
    创建表
        create database db2 charset utf8;       创建数据库
        use db2;    使用数据库
        create table a1(
          id int,
          name varchar(50),
          age int(3)
        );                    创建a1表
        insert into a1 values
            (1,'mjj',18),
            (2,'wusir',28);           插入表的记录
        select * from a1;     查询a1表中的存储数据
        desc a1;         查看a1表的结构
        show create table a1G;      查看表的详细结构
    复制表 
        create database db3 charset utf8;        新创建一个数据库db3
        use db3;        使用db3
        create table b1 select * from db2.a1;            复制db2.a1的表结构和记录
        select * from db3.b1;        查看db3.b1中的数据和表结构
        create table b2 select * from db2.a1 where 1>5;        只要表结构,不要记录
        create table b3 like db2.a1;        使用like(只拷贝表结构,不拷贝记录)
        drop table 表名;        删除表:
    数据类型
        整型:tinyint int bigint
        浮点型: float double decimal
        时间:year date time datetime
        字符:char 定长 > varchar 变长 > text 文本
        时间类型: datetime
        枚举:enum   多选一
        集合:set    
            create table consumer(
                id int unsigned,
                name varchar(20),
                sex enum('male','female','other'),
                level enum('vip','svip','vvip'),
                fav set('smoke','drink','tangtou')            
            
            );
            insert into consumer values(1,'一宁','other','vvip','smoke,drink,tangtou');
        布尔:boolean  tinyint(1) 存1 表示true,存0 表示false
        
        函数: now() 根据字段的数据类型获取当前的时间格式
               char_length: 获取字符长度
               length():获取字节数
               
        sql中默认是有符号的
        如果设置无符号unsigned
        用0填充 zefofill
    约束
        作用:保证数据的完整性和一致型
        表的设计
            1.not null(不可空) 与 default
                create table tb1(id int not null default 2,name char(20) not null);
                insert into tb1  values(1,'alex');
                insert into tb1(name) values('武sir');
                insert into tb1(id) values(3);
            2.unique  
                单列唯一
                create table dep(id int not null,name varchar(20) unique);
                    insert into dep(id,name) values(1,'alex');
                    insert into dep(id,name) values(2,'alex');
                多列唯一    表示每一列都唯一
                create table dep2(id int unique,name varchar(20) unique);
                    insert into dep2(id,name) values(1,'alex');
                组合唯一 (联合唯一) 只要有一列不同,就可以插入数据
                create table dep3(
                    id int,
                    name varchar(20),
                    unique(id,name)        
                );
                insert into dep3(id,name) values(1,'alex');
                insert into dep3(id,name) values(1,'alex2');
                insert into dep3(id,name) values(2,'alex');
            3.primary key (索引优化查询)
            
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    一般常用操作
  • 相关阅读:
    C语言-if语句
    C语言-表达式
    C语言-基础
    Java for LeetCode 187 Repeated DNA Sequences
    Java for LeetCode 179 Largest Number
    Java for LeetCode 174 Dungeon Game
    Java for LeetCode 173 Binary Search Tree Iterator
    Java for LeetCode 172 Factorial Trailing Zeroes
    Java for LeetCode 171 Excel Sheet Column Number
    Java for LeetCode 169 Majority Element
  • 原文地址:https://www.cnblogs.com/RootEvils/p/9791209.html
Copyright © 2011-2022 走看看