Mysql终端Terminal操作

datebase管理

1.创建数据库-create

语法:create database 数据库名 character set 编码

注意:默认会存在四个数据库,其数据库中存储的是mysql数据库服务器的配置的数据

示例:create database firstDB character set utf8;

2. 查看所有数据库-show

2.1.查看创建语句(也可看编码)

语法:show create database 数据库名;

Mysql终端Terminal操作

2.2、查看数据库服务器中的所有数据库

语法:show databases;

Mysql终端Terminal操作

3. 修改数据库-alter

修改编码:
    语法:alter database 数据库名称 character set 编码;
    例如:alter database mydb_01 character set gbk;
    查看:show create database mydb_01;

4. 使用数据库-use

语法:use 数据库名称;
例如:use mydb_01;

5. 查看当前使用的数据库

语法:select database();
例如:select database();

6. 删除数据库-drop

语法:drop dastabase 数据库名称;
例如:drop database mydb_01;

Mysql终端Terminal操作

table管理

1.创建数据库表

语法

create table 表名称(
    字段名称 数据类型[约束],
    字段名称 数据类型[约束],
    ...

);

示例:

create table user(
    id int,
    name varchar(15),
    age int
);

Mysql终端Terminal操作

数据库类型

Mysql终端Terminal操作
常用的类型:
    int:整数型
    varchar:可变字符串
    double:浮点型,例如(double(5,2),长度为5,其中必须包含两位小数)
    date:日期(只有年月日)
    timestamp:时间戳(年月日,时分秒都有)
java和mysql类型对比
    mysql类型                                     java的类型
    int                                         java.lang.Integer
    double                                      java.lang.Double
    char                                        java.lang.String
    varchar                                     java.lang.String
    text                                        java.lang.String
    blob                                        java.lang.byte[]
    date                                        java.sql.Date
    time                                        java.sql.Time
    timestamp                                   java.sql.TimeStamp

约束

定义:
    约束就是对字段的某种性质的一种约束
类型:
    主键约束:primary key
    外键约束:(下节课学)
    非空约束:not null
    唯一性约束:unique
    默认值约束:default 默认值(指的是没有插入此字段时有默认值,当插入此字段时,即使值是null他也不会有默认值,即值为null)
主键约束:
    主键是每一条记录的唯一性标识,一般没有实际意义,特点:非空 唯一
    语法:字段名称 字段类型 primary key
    注意:如果主键是int型 我们可以将其定义成 auto_increment(自增长)
    示例:id int primary key auto_increment
例如:
    create table user(
        id int primary key auto_increment,
        username varchar(20) not null,
        password varchar(20) not null,
        gender varchar(20),
        age int default 25,
        email varchar(50) not null unique,
        salary double(8,2),
        state int default 0,
        role varchar(10) default 'VIP',
        registTime  timestamp
    );

2.查看表

2.1.查看当前数据库中的所有表

语法:show tables;

Mysql终端Terminal操作

2.2.查看指定表的创建语句

语法:show create table 表名称;

Mysql终端Terminal操作

2.3.查看表结构

语法:desc 表名称;

Mysql终端Terminal操作

3.删除表

语法:drop table 表名称;

4.修改表

4.1.修改表名称

语法:rename table 旧名称 to 新名称;
例如:rename table user to newuser;

Mysql终端Terminal操作

4.2.修改表的编码

语法:alter table 表名称 character set 编码;
例如:  alter table newuser character set gbk;  ALTER TABLE hq_message CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

5.新增字段

语法:alter table 表名称 add 字段名称 数据类型 [约束];
例如:alter table newuser add idcart varchar(18) unique;

Mysql终端Terminal操作

6.删除字段

语法:alter table 表名称 drop 字段名;
例如:alter table newuser drop idcart;

Mysql终端Terminal操作

7.修改字段名称

语法:alter table 表名称 change 旧名称 新名称 数据类型
例如:alter table newuser change gender sex varchar(2);

Mysql终端Terminal操作

8.修改数据类型

语法:alter table 表名称 modify 字段名称 新的数据类型;
例如:alter table newuser modify sex int;

Mysql终端Terminal操作

数据操作

注意

select @@tx_isolation;--查看mysql的事物隔离级别
show variables like 'character%';--查看mysql数据库的当前编码
set character_set_client = gbk;--设置客户端编码
set character_set_results = gbk;--设置结果集的编码

1.插入数据

语法:insert into 表名(字段名1,字段名2,...字段名n) valuse(值1,值2,...值n);
注意:
    (1):如果主键是auto_increment的,那么,主键列的值可以写成null或者主键字段和主键值省略不写
    (2):如果插入的数据是全数据的话,那么字段名称可以省略
例如:
    insert into newuser(id,username,password,sex,age,email,salary,state,role,registtime) values(1,'zhangsan','123',1,25,'zs@itcast.cn',100,0,'teacher','2015-10-10 12:35:50');

Mysql终端Terminal操作

2.修改数据

语句:update 表名称 set 字段名称1=值1,字段名称2=值2,....字段名称n=值n[where条件语句];
注意:如果不写where条件子句的话 会把表中的所有相应字段的数据全部修改
例如:update newuser set password=111 where id=1;

Mysql终端Terminal操作

3.删除数据

语法:delete from 表名 where条件句;
注意:如果不写where条件句的话 那么会把表中的数据全部删掉
delete from newuser和drop table user的区别?
    前者是删除数据,但是表的结构还在
    后者是把整个表全部删掉
truncate table newuser;和delete from newuser;区别?
    前者一次性将表摧毁,然后在新建表结构
    后者是一条一条的将数据删除

4.查询数据

4.1.全部查询

语法:select * from 表名;

Mysql终端Terminal操作

4.2.查询部分数据

语法:select 字段名称1,字段名称2... from 表名称;

Mysql终端Terminal操作

4.3.去重查询

语法:select distinct 字段名称 from 表名;

Mysql终端Terminal操作

4.4.聚合函数

注意:聚合函数应尽可能不与其他字段混合使用<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Note: aggregate functions should not be mixed with other fields as far as possible</font>*</details>

4.41.计数函数

名称:count():统计当前表中有多少条数据
用法:select count(* 或 者字段名) from 表名;
注意:当使用字段进行统计时,如果该列中有null值,则不算一条记录

Mysql终端Terminal操作

4.4.2.求和函数

名称:sum()
用法:select sum(salary) from 表名;
注意:如果要求和的字段中有null则把null当作0进行求和

Mysql终端Terminal操作

4.4.3.最大值函数

名称:max()
用法:select max(salary) from user;

注意:null不作为数值比较

Mysql终端Terminal操作

4.4.4.最小值函数

名称:min()
用法:select min(salary) from user;
注意:null不作为数值比较

Mysql终端Terminal操作

4.4.5.平均值

名称:avg()
用法:select avg(salary) from user;
注意:如果字段中有null值,在相加时当作了0或者根本就没有算数,在相除的时候没有算此条记录

Mysql终端Terminal操作

4.5.运算查询

语法:select username,salary+1000 from user;
注意:可进行数学运算
    null在进行运算的时候还是null

Mysql终端Terminal操作
ifnull函数
    作用:判断是否为null
    语法:select username,ifnull(salary,0)+1000 from user;

Mysql终端Terminal操作
as函数
    作用:给字段起别名
    语法:字段名 as 别名
    注意:as可以省略不写

Mysql终端Terminal操作

4.6.排序查询

语法:order by 字段名;
注意:
    默认升序(asc):order by 字段名 asc;
    降序(desc):order by 字段名 desc;
例如:select * from user order by salary;

Mysql终端Terminal操作

4.7.条件查询

4.7.1.单一条件查询

语法:select * from 表名 where 字段名称='字段值';
注意:可以使用的运算符:>   <   >=    
例如:select * from user where username='zhangsan';

Mysql终端Terminal操作

4.7.2.多条件查询

语法:select * from 表名 where 字段名1='字段值' and 字段名2='字段值'......;
注意:逻辑连接关键字可以使用and、or、not;优先级:and  > or
例如:
    select * from user where role='技术部' and sex='女';
    select * from user where role='teacher' or role='财务部';

Mysql终端Terminal操作

4.7.3.范围查询

语法:select * from 表名 where 要查询的字段 between ... and ...

注意:即包左又包右

Mysql终端Terminal操作

4.7.4.枚举查询

语法:in(枚举字段);---满足枚举字段的就会被查出来

Mysql终端Terminal操作
语法:not in(枚举字段);排除满足枚举字段的所有字段

Mysql终端Terminal操作

4.7.5.模糊查询

语法:like '数据';
用法:
    select * from user where username like '张';---全名叫张的
    select * from user where username like '张%';---姓张的
    select * from user where username like '%张';---最后一个字是张的
    select * from user where username like '%张%';---包含张的
    select * from user where username like '_张%';---第二个字是张的
注意:%:代表多个任意字符    _代表任意一个字符

4.7.6.空/非空查询

语法:
    is null;---某字段为null
    is not null;---某字段不为null

Mysql终端Terminal操作

4.8.分组查询

语法:select 字段 from 表名 group by 字段 [having(条件)] 表达式;

Mysql终端Terminal操作

4.9.分页查询

limit 3,5

5.sql语句的书写顺序与执行顺序

书写顺序:select 字段 from 表名 where 条件 group by 字段 having 条件 order by 字段;
执行顺序:from   >   where   >   group by   >   having   >  select  >  order by

Mysql终端Terminal操作

Mysql终端Terminal操作

多表连查

1.准备数据

创建customer表
    id 整型 主键 自动增长,
    姓名 字符串20 不能为空,
    电话 字符串20 不能为空,
    等级 字符串20 默认为铜牌会员
    create table customer(
      id int primary key auto_increment,
      name varchar(20) not null,
      tel varchar(20) not null,
      grade varchar(20) default '铜牌会员'
    );
创建orders表
    id 整型 主键 自动增长,
    订单编号 字符串30 唯一 不能为空,
    订单提交时间 时间戳类型,
    客户id 整型 外键(与客户主键对应)
    create table orders(
        id int primary key auto_increment,
        ocode varchar(30) unique not null,
        createTime timestamp,
        cid int not null,
        constraint customer_orders foreign key orders(cid)   references customer(id)
    );
    customer表插入数据
        insert into customer values(null,'张三','13825545454','银牌会员');
        insert into customer values(null,'李四','13820145999','银牌会员');
        insert into customer values(null,'王五','17745589215','金牌会员');
    orders表插入数据
        insert into orders values(null,'jd001',null,1);
        insert into orders values(null,'jd002',null,2);
        insert into orders values(null,'jd003',null,1);
        insert into orders values(null,'jd004',null,2);
创建goods表
    id 整型 主键 自动增长,
    gcode 字符串20 唯一 非空,
    gname 字符串30 非空,
    gprice 浮点型(8,2) 非空,
    producttime 日期类型
    create table goods(
        id int primary key auto_increment,
        gcode varchar(20) unique not null,
        gname varchar(30) not null,
        gprice double(8,2) not null,
        producttime date
    );
    插入数据
        insert into goods values(null,'DQ0012','电视机',2999,'2014-12-25');
        insert into goods values(null,'DQ0013','洗衣机',1999,'2014-11-25');
        insert into goods values(null,'DQ0014','空调扇',235,'2014-5-21');
        insert into goods values(null,'SJ0012','iphone5',3288,'2014-10-27');
        insert into goods values(null,'SJ0013','魅族MX5',1799,'2015-4-11');
        insert into goods values(null,'RY0012','运动鞋',450,'2013-8-19');
创建orders_goods关系表
    id 整型 主键 自动增长,
    oid 整型 非空,
    gid 整型 非空
    create table orders_goods(
        id int primary key auto_increment,
        oid int not null,
        gid int not null,
        constraint orders_goods_rel foreign key orders_goods(oid) references orders(id),
        foreign key orders_goods(gid) references goods(id)
    );
    插入数据
        insert into orders_goods values(null,1,1);
        insert into orders_goods values(null,1,3);
        insert into orders_goods values(null,1,5);
        insert into orders_goods values(null,2,1);
        insert into orders_goods values(null,2,2);
        insert into orders_goods values(null,3,5);
        insert into orders_goods values(null,4,5);
        insert into orders_goods values(null,4,6);

1.1.内连接

<span class="pun">&#x5185;&#x8FDE;&#x63A5;&#x5C31;&#x662F;&#x5728;&#x67E5;&#x8BE2;&#x7684;&#x65F6;&#x5019;&#x6570;&#x636E;&#x4E4B;&#x95F4;&#x7684;&#x5FC5;&#x987B;&#x4E00;&#x4E00;&#x5BF9;&#x5E94;&#x624D;&#x80FD;&#x67E5;&#x51FA;</span>

显示内连接
    语法:select 字段 from 表1 inner join 表2 on 条件
    例如:
        内连接需求:查询所有的用户的订单中的商品信息
        select * from customer c inner join orders o on c.id=o.cid inner join orders_goods o_g on o_g.oid=o.id inner join goods g on o_g.gid=g.id;
        查询客户表连接到订单表,条件是客户表中的主键id等于订单表中外键;因为订单表和商品表之间的关系是多对多,所以需要介入中间表,

Mysql终端Terminal操作
隐式内连接
    语法:select 字段 from 表1,表2,... where 条件
    注意:一般情况下 n张表需要最少 n-1个条件可以保证数据不冗余
    例如:内连接需求:查询所有的用户的订单中的商品信息
        select * from customer c,orders o,orders_goods og,goods g where c.id=o.cid and o.id=og.oid and og.gid=g.id;

Mysql终端Terminal操作

1.2.外连接

左外连接
    保证左表中的数据全部显示,右表中的数据仅仅显示与左表有关联的,没有数据的会显示null
    语法:select 字段 form 左表 left [outer] join 右表 on 条件
    例如:左外连接需求:查询所有的用户的信息,如果该用户有订单信息一起显示
        select * from customer c left join orders o on c.id=o.cid;

Mysql终端Terminal操作
右外连接
    保证右表中的数据全部显示,左表中的数据仅仅显示与右表有关联的,没有数据会显示null
    语法:select 字段 from 左表 right [outer] join 右表 on 条件
    例如:有外连接需求:查询所有的商品信息,如果该商品有所属的订单则一起显示订单信息
        select * from orders o right join orders_goods og on o.id=og.oid right join goods g on og.gid=g.id;

Mysql终端Terminal操作

1.3.子查询

<span class="pun">&#x67E5;&#x51FA;&#x7684;&#x6570;&#x636E;&#x53EF;&#x4EE5;&#x5F53;&#x4F5C;&#x4E00;&#x4E2A;&#x8868;&#x770B;&#x5F85;</span>

select * from customer where id=(select cid from orders where id=2);

Mysql终端Terminal操作

数据库的备份与恢复

备份:
    mysqldump -u 用户名 -p 数据库名称  表名[表名]>磁盘路径   --回车
    password:*****     --回车      形成一个.sql的文件
恢复:
    mysql -u 用户名 -p 数据库名称(指定导入到那一个数据库)回车
    password:*****   --回车
注意:
    如果指定的数据库不存在,则失败;需要自己先创建数据库

数据库中的权限、用户操作(DCL)

1.创建用户

语法:
    CREATE USER 用户名@地址 IDENTIFIED BY '密码';
    CREATE USER user1@localhost IDENTIFIED BY '123';
    CREATE USER user2@'%' IDENTIFIED BY '123';
    user1用户只能访问localhost
    user2用户可以远程访问

2.给用户授权

语法:
    GRANT 权限1, ... , 权限n ON 数据库.* TO 用户名@IP
    GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
    GRANT ALL ON mydb1.* TO user2@'%';

3.撤销授权

语法:
  REVOKE权限1, ... , 权限n ON 数据库.* FORM 用户名
    REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;

4.查看用户权限

语法:
    SHOW GRANTS FOR 用户名
    SHOW GRANTS FOR user1@localhost;

5.删除用户

语法:
    DROP USER 用户名
    DROP USER user1@localhost;

6.修改用户密码

语法:
    Use mysql;
    UPDATE USER SET PASSWORD=PASSWORD('密码') WHERE User='用户名';
    FLUSH PRIVILEGES;
    UPDATE USER SET PASSWORD=PASSWORD('1234') WHERE User='user2';
    FLUSH PRIVILEGES;

视图管理

标注:

无论创建视图的方式如何,新创建的视图中的数据都会根据源表中的数据进行更改

[En]

Regardless of the way the view is created, the data in the newly created view changes according to the data in the source table

创建数图:

1、同一数据库下

第一类:create view v as select * from table;
第二类:create view v as select id,name,age from table;
第三类:CREATE VIEW d_u as SELECT u.user_id as user_id, u.login_ip as login_ip, d.parent_id as parent_id FROM sys_dept d join sys_user u WHERE u.dept_id=d.dept_id;
第四类:create view v as (select * from table1) union all (select * from table2);

2、不同数据库

这种情况只比上面的sql语句多一个数据库的名字,如下:
create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);
或
create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);
如果执行第一个sql将在数据库1下建立视图,反之亦然;

3、基于不同服务器的

这种情况更麻烦一些。您需要创建一个远程表来访问远程服务器的数据表,然后查看新创建的远程表和本地表,如下所示:<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>This situation is a little more troublesome. You need to create a remote table to access the remote server's data table, and then view the newly created remote table and local table, as follows:</font>*</details>

1、查看MySql是否支持federated引擎
    (1).登录Mysql;
    (2).mysql>show engines;
    (3).如果显示为no,在配置文件中添加:federated (在my.ini),重新启动mysql服务。

2、创建远程表
     CREATE TABLE federated_table (
       id  INT(20)  NOT NULL AUTO_INCREMENT,
        name  VARCHAR(32) NOT NULL DEFAULT '',
        other  INT(20) NOT NULL DEFAULT '0',
        PRIMARY KEY  (id)
     )
     ENGINE=FEDERATEDDEFAULT
     CHARSET=utf8
     CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

     CONNECTION可以按如下方式进行配置:
      (1).CONNECTION='mysql://username:password@hostname:port/database/tablename'
      (2).CONNECTION='mysql://username@hostname/database/tablename'
      (3).CONNECTION='mysql://username:password@hostname/database/tablename'

3、建立视图
    create view 本地数据库.v as (select * from 本地数据库.table1) union all (select * from 远程数据库.test_table);

数图的作用:

作用一:
    提高了重用性,就像一个函数。如果要频繁获取user的name和goods的name。就应该使用以下sql语言。
    示例:select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;

    但有了视图就不一样了,创建视图other。
    示例:create view other as select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;
    创建好视图后,就可以这样获取user的name和goods的name。
    示例:select * from other;

作用二:
    对数据库重构,却不影响程序的运行。
    假如因为某种需求,需要将user拆房表usera和表userb,
    该两张表的结构如下:
        测试表:usera有id,name,age字段
        测试表:userb有id,name,sex字段
    这时如果服务端使用sql语句:select * from user; 那就会提示该表不存在,这时该如何解决呢。
    解决方案:创建视图。
    以下sql语句创建视图:
        create view user as select a.name,a.age,b.sex from usera as a, userb as b where a.name=b.name;
        以上假设name都是唯一的。此时服务端使用sql语句:select * from user;就不会报错什么的。
        这就实现了更改数据库结构,不更改脚本程序的功能了。

作用三:
    提高了安全性能。
    可以对不同的用户,设定不同的视图。
    例如:某用户只能获取user表的name和age数据,不能获取sex数据。则可以这样创建视图。
    示例如下:
        create view other as select a.name, a.age from user as a;
    这样的话,使用sql语句:select * from other; 最多就只能获取name和age的数据,其他的数据就获取不到了。

作用四:
    让数据更加清晰。想要什么样的数据,就创建什么样的视图。经过以上三条作用的解析,这条作用应该很容易理解了吧

删除视图

mysql> DROP VIEW PEOPLE_VIEW;

Original: https://www.cnblogs.com/JimmyThomas/p/16348814.html
Author: JimmyThomas
Title: Mysql终端Terminal操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505312/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java压缩图片

    压缩图片 一、压缩原理 一张原始图像(1920×1080),如果每个像素32bit表示(RGBA),那么,图像需要的内存大小1920x1080x4 = 8294400 B…

    数据库 2023年6月6日
    0127
  • 代码随想录-数组篇

    上次刷没刷完整,和李哥做字节的题感觉先前刷的题白刷了,故打算从头到尾完整走一遍。 二分法 1-1.二分查找 力扣题目链接 给定一个 n 个元素有序的(升序)整型数组 nums 和一…

    数据库 2023年6月14日
    0163
  • Java学习-第一部分-第二阶段-项目实战:坦克大战【1】

    坦克大战【1】 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 坦克大战游戏 为什么写这个项目✔好玩✔涉及到ja…

    数据库 2023年6月11日
    0119
  • pytest中pytest_cache文件夹作用

    跑自动化时经常会出现这样一个情况,一轮自动化跑完后零星出现了几个失败case,无法断定失败的原因,所以需要重新跑一下失败的case去debug,那我们要做的是就去修改脚本把那几个c…

    数据库 2023年6月11日
    0105
  • MySQL中的全表扫描和索引树扫描

    引言 在学习mysql时,我们经常会使用explain来查看sql查询的索引等优化手段的使用情况。在使用explain时,我们可以观察到,explain的输出有一个很关键的列,它就…

    数据库 2023年5月24日
    0218
  • 【Kubernetes系列】Kubernetes相关概念介绍

    Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。是一组(一个或多个) 容器; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容…

    数据库 2023年6月6日
    0137
  • 5、枚举Enum

    枚举类会 隐式的继承Enum类,无法再继承其它类( 单继承机制) 一、无实参枚举类型: 1、定义: /** * 1、无实参枚举类型 */ public enum NoParamTy…

    数据库 2023年6月6日
    0149
  • JVM-虚拟机栈

    运行时数据区-虚拟机栈 JAVA技术交流群:737698533 java虚拟机在执行java程序过程中会把它所管理的内存划分为若干个不同的区域,这些区域各有各的作用,根据java虚…

    数据库 2023年6月16日
    0180
  • Mybatis-Plus一键生成代码

    Mybatis-Plus一键生成代码 一、闲言碎语 闲来无事看了看了MP的官网看到一键生成的代码更新了! 整个Ui风格都变了,遂决定瞅一眼新的代码生成器 官网地址~~ 二、引入依赖…

    数据库 2023年5月24日
    0121
  • 系统发布springboot项目

    首先把项目终止服务,但这样的做法不是很好,也可以来个配置文件 1.查看运行的java文件有哪些,位置在哪里,端口号是多少 ps -ef | grep java 2.结束端口进程的运…

    数据库 2023年6月6日
    0131
  • 2021年想做的最后挣扎

    一年的时间转眼间就过完,感觉没变,又感觉跟一年前的今天变化还是蛮多的,树立个小目标争取年前完成把 读书一本书看一篇文章: 《百年孤独》:我总感觉虽然是只单身狗是孤单的,理解不了孤独…

    数据库 2023年6月6日
    0125
  • 线程池使用InheritableThreadLocal出现数据脏乱分析和解决方案

    背景 在测试环境上遇到一个诡异的问题,某些业务场景需要记录操作日志,有段时间发现记录的数据会被覆盖,例如当前用户的操作记录会被其他用户覆盖;这个现象是每次重启服务后一小段时间内就正…

    数据库 2023年6月6日
    0179
  • Stripe支付介绍在asp.net mvc中开发对接,图文加代码说明

    最近一个国外的电商项目,需要对接支付功能,国内的支付一般使用微信支付、支付宝、银联等等,但国际上一般使用Paypal、Skrill、BrainTree、Stripe等,经过内部综合…

    数据库 2023年6月14日
    0158
  • javaScript知识大全(基础)!!

    定义方法:即把函数放在对象里面,对象只有属性和方法 var a={ name:"111", birth:2000, age:function (){ var n…

    数据库 2023年6月16日
    0117
  • [LeetCode]14. 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,&…

    数据库 2023年6月9日
    0117
  • Qt 的事件监听和事件过滤

    Qt 产品级的开发项目中经常会用到一些自定义控件,从而达到一些可定制化的效果,这时候往往需要重写它的监听事件,满足产品的需求。这里用一个简单的例子记录一下思路: 新建一个DiyLa…

    数据库 2023年6月16日
    0162
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球